Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
dmanik
gitlab-ci-talk
Commits
dc479769
Commit
dc479769
authored
Jun 04, 2019
by
Debsankha manik
Browse files
all slides finished
parent
2f1e8f7b
Pipeline
#98306
passed with stage
in 1 minute and 4 seconds
Changes
3
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
figures/ci-pdf.pdf
0 → 100644
View file @
dc479769
File added
figures/ci-pdf.svg
0 → 100644
View file @
dc479769
This diff is collapsed.
Click to expand it.
talk.tex
View file @
dc479769
...
...
@@ -30,7 +30,6 @@
\begin{list}
{}{
%
\leftmargin
=0pt
\labelwidth
=0pt
\labelsep
=0pt
}}
{
\end{list}
}
% custom item with alert+pause
...
...
@@ -153,44 +152,82 @@ We wanted a nighly run of these ``integration tests'' on master.
\end{frame}
\begin{frame}
{
How to Set it up?
}
\begin{
enumerate
}
\alertitem
Spcify an environment as before using
\code
{
docker
}
.
\begin{frame}
[fragile]
{
How to Set it up?
}
\begin{
noindentlist
}
\alertitem
Sp
e
cify an environment as before using
\code
{
docker
}
.
\alertitem
Specify a new
\code
{
stage
}
in the CI pipeline that is to be
triggered only on schedule, not automatically on each commit.
\alertitem
Generate custom badges displaying this stage passes/fails.
\end{enumerate}
\item
<+->
\begin{minted}
{
yaml
}
only:
- schedules
- master
\end{minted}
\alertitem
Generate custom badges displaying this stage passes/fails
using
\code
{
artifact
}
s (more on this later).
\item
<+->
\begin{minted}
{
yaml
}
artifacts:
paths:
- public # this is where we save custom made badges
expire
_
in: 6 mos
when: always
\end{minted}
\end{noindentlist}
\end{frame}
\begin{frame}
{
Use Case 3:
\sout
{
Writing a Paper
}
Making This Presentation
}
Add screenshot/demo.
\end{frame}
t
\begin{frame}
{
How to set it up?
}
\begin{enumerate}
\alertitem
Use docker image with
\code
{
texlive
}
.
\alertitem
Use
\code
{
latexmk
}
to compile PDF in the CI pipeline.
\end{enumerate}
\begin{figure}
[!htp]
\begin{center}
\PrintImage
{
\textwidth
}{
0.9
\textheight
}{
ci-pdf
}
\end{center}
\end{figure}
\end{frame}
\begin{frame}
{
Setting up Runners
}
\end{frame}
\begin{frame}
[fragile]
{
How to Set It Up?
}
\begin{noindentlist}
\alertitem
Use a docker image with
\code
{
texlive
}
(I chose
\code
{
blang/latex
}
)
\alertitem
Define a job that invokes
\code
{
latexmk
}
to compile the PDF.
\item
<+->
\begin{minted}
{
yaml
}
makepdf:
stage: build
script:
- latexmk -e '
$
pdflatex
=
q
/
pdflatex
%O -shell-escape %S/' -pdf
\end
{
minted
}
\alertitem
Use
\code
{
job artifacts
}
to store the compiled PDF.
\item
<
+-
>
\begin
{
minted
}{
yaml
}
artifacts:
paths:
-
"
*
.pdf"
\end
{
minted
}
\alertitem
We ask GitLab to store all files matching the wildcard
\code
{
*
.pdf
}
.
\alertitem
The PDF is then accessible under the URL
\url
{
<repo
_
root>
/-/
jobs
/
artifacts
/
master
/
raw
/
talk.pdf?job
=
makepdf
}
\end
{
noindentlist
}
\end
{
frame
}
\begin{frame}
{
What more can/should one do with CI/CD pipelines?
}
\begin
{
frame
}{
Outlook
}
\pause
{}
\begin
{
noindentlist
}
\alertitem
Multi project pipelines
(
build
/
test the full stack divided across repositories
)
.
\alertitem
Automatically run test suite on merge requests.
\begin
{
itemize
}
\item
Multi project pipeline
s.
\
item
Run unittests on merge requests.
\
item
Skipping the pipeline on certain commits (
e.g. changing the
\code
{
README
}
).
\item
Artifacts: (this is how I created this talk)
\item
No need to waste time reviewing a MR if the test suite do not pas
s.
\
end
{
itemize
}
\alert
item
Skipping the pipeline on certain commits
(
\code
{
except
}
keyword
in CI config
)
.
\begin
{
itemize
}
\item
Publish your package to PyPi.
\item
Upload the docs to
\code
{
readthedocs
}
.
\item
e.g. changing the
\code
{
README
}
.
\end
{
itemize
}
\end{itemize}
\alertitem
Publish your package to PyPi, deploy to staging
/
production.
\alertitem
Reproducible papers?
\end
{
noindentlist
}
\end
{
frame
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment