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
00b66cac
Commit
00b66cac
authored
Jun 04, 2019
by
Debsankha manik
Browse files
annotated the figures
parent
dc479769
Pipeline
#98313
passed with stage
in 36 seconds
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
figures/CI-commit-history.pdf
View file @
00b66cac
No preview for this file type
figures/CI-pipeline-badge.pdf
View file @
00b66cac
No preview for this file type
figures/ci-pdf.pdf
View file @
00b66cac
No preview for this file type
figures/integration_testing_badge.pdf
View file @
00b66cac
No preview for this file type
talk.tex
View file @
00b66cac
...
...
@@ -54,7 +54,7 @@
\title
{
GitLab Pipelines for Every Need
}
%\subtitle{SUBTITLE}
\author
{
Debsankha Manik
Debsankha Manik
\\
MPI for Dynamics and Self-Organization, G
\"
ottingen
}
\titlepage
\end{frame}
...
...
@@ -62,11 +62,12 @@
\begin{frame}
{
CI/CD Pipelines: Core Idea
}
\framesubtitle
{
Apply well defined operations on the codebase automatically
}
On each commit (or according to some fine-tuned criteria):
\pause
{}
\begin{enumerate}
\alertitem
A pre-specified environment is created (typically using
\code
{
docker
}
).
\alertitem
A pre-defined set of operations are run on the codebase.
\alertitem
Operations may depend on each other, be
chronologically ordered, asked to run on par
e
llel
$
\dots
$
chronologically ordered, asked to run on par
a
llel
$
\dots
$
\end{enumerate}
\end{frame}
...
...
@@ -104,8 +105,7 @@
\begin{frame}
{
How: Use a CI/CD Pipeline to Run the Tests
}
\begin{enumerate}
\alertitem
Choose docker image with base dependencies your software needs to
function.
\alertitem
Choose docker image with base dependencies of your software.
\alertitem
Install additional dependencies using package manager e.g.
\code
{
apt
}
, if needed.
\alertitem
Run the test suite using whatever test runner you want.
...
...
@@ -125,8 +125,8 @@ We had some tests that ``simulates'' our deployed system, i.e.
\begin{enumerate}
\item
Installs all the componenets of our software.
\item
Spins up the server.
\item
Creates clients.
\item
The client fires a few hundred requests.
\item
Creates
a few
clients.
\item
The client
s
fires a few hundred requests.
\item
We check if the server was able to handle all these requests, satisfying
some predefined criteria.
\end{enumerate}
...
...
@@ -158,7 +158,7 @@ We wanted a nighly run of these ``integration tests'' on master.
\alertitem
Specify a new
\code
{
stage
}
in the CI pipeline that is to be
triggered only on schedule, not automatically on each commit.
\item
<+->
\begin{minted}
{
yaml
}
\begin{minted}
[bgcolor=light-gray]
{
yaml
}
only:
- schedules
- master
...
...
@@ -167,18 +167,18 @@ only:
using
\code
{
artifact
}
s (more on this later).
\item
<+->
\begin{minted}
{
yaml
}
\begin{minted}
[bgcolor=light-gray]
{
yaml
}
artifacts:
paths:
- public # this is where we save custom made badges
expire
_
in: 6 mos
when: always
- public # this is where we save
# custom made badges
\end{minted}
\end{noindentlist}
\end{frame}
\begin{frame}
{
Use Case 3:
\sout
{
Writing a Paper
}
Making This Presentation
}
\framesubtitle
{
https://gitlab.gwdg.de/dmanik/gitlab-ci-talk
}
\begin{figure}
[!htp]
\begin{center}
\PrintImage
{
\textwidth
}{
0.9
\textheight
}{
ci-pdf
}
...
...
@@ -189,18 +189,19 @@ artifacts:
\end{frame}
\begin{frame}
[fragile]
{
How to Set It Up?
}
\begin{noindentlist}
\alertitem
Use a docker image with
\code
{
texlive
}
(
I chos
e
\code
{
blang/latex
}
)
\alertitem
Use a docker image with
\code
{
texlive
}
(
her
e
\code
{
blang/latex
}
)
\alertitem
Define a job that invokes
\code
{
latexmk
}
to compile the PDF.
\item
<+->
\begin{minted}
{
yaml
}
\begin{minted}
[bgcolor=light-gray]
{
yaml
}
makepdf:
stage: build
script:
- latexmk -e '
$
pdflatex
=
q
/
pdflatex
%O -shell-escape %S/' -pdf
- 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
}
\begin
{
minted
}
[
bgcolor
=
light
-
gray
]
{
yaml
}
artifacts:
paths:
-
"
*
.pdf"
...
...
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