SlideShare a Scribd company logo
GitLab Continuous Integration (GitLab CI/CD)
Dan MAGIER
2
Dan Magier
CEO
+33683224954
dan@heiwa-it.com
www.heiwa-it.com
Adresse - Paris - France
https://www.linkedin.com/in/dan-magier-67a9374/
@MagierDan
dan@heiwa-it.com
REMERCIEMENTS
3
4
Gitlab Continuous Integration (Gitlab CI/CD)
CONTINUOUS INTEGRATION
➤ Continuous Integration is a software development practice in
which you build and test software every time a developer
pushes code to the application, and it happens several times a
day.
5
Continuous Integration: TEST - BUILD
CONTINUOUS DELIVERY
➤ Continuous Delivery is a software engineering approach in
which continuous integration, automated testing,
and automated deployment capabilities allow software to be
developed and deployed rapidly, reliably and repeatedly with
minimal human intervention. Still, the deployment to
production is defined strategically and triggered manually.
6
Continuous Delivery: TEST - BUILD - DEPLOY MANUALLY
CONTINUOUS DEPLOYMENT
➤ Continuous Deployment is a software development practice
in which every code change goes through the entire pipeline
and is put into production automatically, resulting in many
production deployments every day. It does everything that
Continuous Delivery does, but the process is fully automated,
there's no human intervention at all.
7
Continuous Deployment: TEST - BUILD - DEPLOY AUTOMATICALLY
CI/CD PIPELINE
8
https://docs.gitlab.com/ce/ci/
9
Gitlab CI/CD Configuration File
10
Pipelines
PIPELINE
A pipeline is a group of jobs that get executed in stages.
All of the jobs in a stage are executed in parallel (if there are enough
concurrent Runners)
If all the jobs succeed, the pipeline moves on to the next stage.
If one of the jobs fails, the next stage is not (usually) executed.
You can access the pipelines page in your project's Pipelines tab.
11
12
Stages
STAGES
stages is used to define stages that can be used by jobs and is defined
globally.
The specification of stages allows for having flexible multi stage
pipelines. The ordering of elements in stages defines the ordering of jobs'
execution:
1.Jobs of the same stage are run in parallel.
2.Jobs of the next stage are run after the jobs from the previous stage
complete successfully.
13
14
Jobs
JOBS
15
The YAML file defines a set of jobs with constraints stating when they should be run.
You can specify an unlimited number of jobs which are defined as top-level elements
with an arbitrary name and always have to contain at least the script clause.
Jobs are picked up by Runners and executed within the environment of the Runner.
What is important, is that each job is run independently from each other.
Each job must have a unique name, but there are a few reserved keywords that
cannot be used as job names:
• image, services, stages, types, before_script, after_script,
variables and cache
•
Gitlab RUNNERS
16
RUNNER
GitLab Runner is the open source project that is used to run your jobs
and send the results back to GitLab.
It is written in GO.
It is used in conjunction with GitLab CI, the open-source continuous
integration service included with GitLab that coordinates the jobs.
17
RUNNER FEATURES
• Allows to run:
◦ multiple jobs concurrently
◦ use multiple tokens with multiple server (even per-project)
◦ limit number of concurrent jobs per-token
• Jobs can be run:
◦ locally
◦ using Docker containers
◦ using Docker containers and executing job over SSH
◦ using Docker containers with autoscaling on different clouds
and virtualization hypervisors
◦ connecting to remote SSH server
18
RUNNER FEATURES
• Is written in Go and distributed as single binary without any other
requirements
• Supports Bash, Windows Batch and Windows PowerShell
• Works on GNU/Linux, OS X and Windows (pretty much anywhere
you can run Docker)
• Allows to customize the job running environment
• Automatic configuration reload without restart
• Easy to use setup with support for Docker, Docker-SSH, Parallels
or SSH running environments
• Enables caching of Docker containers
• Easy installation as a service for GNU/Linux, OSX and Windows
• Embedded Prometheus metrics HTTP server
19
20
CI/CD Pipelines
CLASSICAL INFRASTRUCTURE
21
DEV / CI INT MOE MOA PPD PROD
Non Production Environments Production Environments
CLOUD INFRASTRUCTURE
22
DEV / CI INT MOA PPD PROD
Non Production Environments Production Environments
DEV / CIDEV / CI
MOEMOEMOE MOAMOA
PROD
23
WHY USING GITLAB ?
PRO
• Integrated in Gitlab
• Docker and kubernetes integration
• Parallel builds
• CI/CD by code
• No fu…g plugins ^^
• Open to other source control tools : GitHub
• Scripting is the base
24
CON
• Only available in Gitlab
25
REFERENCES
26
https://docs.gitlab.com/
THANK YOU
Q&A
27

More Related Content

PDF
Continuous Integration/Deployment with Gitlab CI
PPTX
Gitlab CI/CD
PDF
Gitlab ci, cncf.sk
PDF
Using GitLab CI
PPTX
Introduction to Gitlab | Gitlab 101 | Training Session
PDF
Introduction to CICD
PDF
Introducing GitLab (June 2018)
PDF
Devops Porto - CI/CD at Gitlab
Continuous Integration/Deployment with Gitlab CI
Gitlab CI/CD
Gitlab ci, cncf.sk
Using GitLab CI
Introduction to Gitlab | Gitlab 101 | Training Session
Introduction to CICD
Introducing GitLab (June 2018)
Devops Porto - CI/CD at Gitlab

What's hot (20)

PDF
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
PPTX
GitLab for CI/CD process
PDF
Introduction to GitHub Actions
PDF
What's New for GitLab CI/CD February 2020
PPTX
CI/CD Overview
ODP
An Introduction To Jenkins
PPTX
Introduction to CI/CD
PDF
Introduction to GitHub Actions
PPTX
CICD Pipeline Using Github Actions
PPTX
Jenkins CI
PDF
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
PDF
GitOps with ArgoCD
PDF
Introduction to Github Actions
PPSX
CI-CD Jenkins, GitHub Actions, Tekton
ODP
Introduction to Ansible
PDF
CI with Gitlab & Docker
PDF
Jenkins
PPTX
Git Lab Introduction
PDF
Introducing GitLab (September 2018)
PDF
Jenkins Pipelines
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
GitLab for CI/CD process
Introduction to GitHub Actions
What's New for GitLab CI/CD February 2020
CI/CD Overview
An Introduction To Jenkins
Introduction to CI/CD
Introduction to GitHub Actions
CICD Pipeline Using Github Actions
Jenkins CI
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
GitOps with ArgoCD
Introduction to Github Actions
CI-CD Jenkins, GitHub Actions, Tekton
Introduction to Ansible
CI with Gitlab & Docker
Jenkins
Git Lab Introduction
Introducing GitLab (September 2018)
Jenkins Pipelines
Ad

Similar to Gitlab ci-cd (20)

PDF
FOSDEM 2017: GitLab CI
PDF
Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automa...
PPTX
Gocd – Kubernetes/Nomad Continuous Deployment
PDF
Software Delivery in 2016 - A Continuous Delivery Approach
PDF
Adventures in docker compose
PPTX
Modern Web-site Development Pipeline
PPTX
Instant developer onboarding with self contained repositories
PPTX
Full stack development best practice and toolset
PPTX
Run automated tests in Docker
PDF
Continuous Delivery: 5 years later (Incontro DevOps 2018)
PDF
Efficient Parallel Testing with Docker by Laura Frank
PPTX
MuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptx
PPTX
Настройка окружения для кросскомпиляции проектов на основе docker'a
PDF
Developer Experience Cloud Native - Become Efficient and Achieve Parity
PDF
Docker for dev
PDF
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
PDF
Gitlab ci e kubernetes, build test and deploy your projects like a pro
PDF
New Features Webinar-April
PDF
Bgoug 2019.11 building free, open-source, plsql products in cloud
PDF
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
FOSDEM 2017: GitLab CI
Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automa...
Gocd – Kubernetes/Nomad Continuous Deployment
Software Delivery in 2016 - A Continuous Delivery Approach
Adventures in docker compose
Modern Web-site Development Pipeline
Instant developer onboarding with self contained repositories
Full stack development best practice and toolset
Run automated tests in Docker
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Efficient Parallel Testing with Docker by Laura Frank
MuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptx
Настройка окружения для кросскомпиляции проектов на основе docker'a
Developer Experience Cloud Native - Become Efficient and Achieve Parity
Docker for dev
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Gitlab ci e kubernetes, build test and deploy your projects like a pro
New Features Webinar-April
Bgoug 2019.11 building free, open-source, plsql products in cloud
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Ad

Recently uploaded (20)

PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Empathic Computing: Creating Shared Understanding
PPTX
A Presentation on Artificial Intelligence
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Modernizing your data center with Dell and AMD
PPTX
Cloud computing and distributed systems.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Big Data Technologies - Introduction.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Unlocking AI with Model Context Protocol (MCP)
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Empathic Computing: Creating Shared Understanding
A Presentation on Artificial Intelligence
Mobile App Security Testing_ A Comprehensive Guide.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Dropbox Q2 2025 Financial Results & Investor Presentation
Diabetes mellitus diagnosis method based random forest with bat algorithm
Modernizing your data center with Dell and AMD
Cloud computing and distributed systems.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Review of recent advances in non-invasive hemoglobin estimation
Big Data Technologies - Introduction.pptx
MYSQL Presentation for SQL database connectivity
NewMind AI Monthly Chronicles - July 2025
Encapsulation_ Review paper, used for researhc scholars
Unlocking AI with Model Context Protocol (MCP)

Gitlab ci-cd

  • 1. GitLab Continuous Integration (GitLab CI/CD) Dan MAGIER
  • 2. 2 Dan Magier CEO +33683224954 dan@heiwa-it.com www.heiwa-it.com Adresse - Paris - France https://www.linkedin.com/in/dan-magier-67a9374/ @MagierDan dan@heiwa-it.com
  • 5. CONTINUOUS INTEGRATION ➤ Continuous Integration is a software development practice in which you build and test software every time a developer pushes code to the application, and it happens several times a day. 5 Continuous Integration: TEST - BUILD
  • 6. CONTINUOUS DELIVERY ➤ Continuous Delivery is a software engineering approach in which continuous integration, automated testing, and automated deployment capabilities allow software to be developed and deployed rapidly, reliably and repeatedly with minimal human intervention. Still, the deployment to production is defined strategically and triggered manually. 6 Continuous Delivery: TEST - BUILD - DEPLOY MANUALLY
  • 7. CONTINUOUS DEPLOYMENT ➤ Continuous Deployment is a software development practice in which every code change goes through the entire pipeline and is put into production automatically, resulting in many production deployments every day. It does everything that Continuous Delivery does, but the process is fully automated, there's no human intervention at all. 7 Continuous Deployment: TEST - BUILD - DEPLOY AUTOMATICALLY
  • 11. PIPELINE A pipeline is a group of jobs that get executed in stages. All of the jobs in a stage are executed in parallel (if there are enough concurrent Runners) If all the jobs succeed, the pipeline moves on to the next stage. If one of the jobs fails, the next stage is not (usually) executed. You can access the pipelines page in your project's Pipelines tab. 11
  • 13. STAGES stages is used to define stages that can be used by jobs and is defined globally. The specification of stages allows for having flexible multi stage pipelines. The ordering of elements in stages defines the ordering of jobs' execution: 1.Jobs of the same stage are run in parallel. 2.Jobs of the next stage are run after the jobs from the previous stage complete successfully. 13
  • 15. JOBS 15 The YAML file defines a set of jobs with constraints stating when they should be run. You can specify an unlimited number of jobs which are defined as top-level elements with an arbitrary name and always have to contain at least the script clause. Jobs are picked up by Runners and executed within the environment of the Runner. What is important, is that each job is run independently from each other. Each job must have a unique name, but there are a few reserved keywords that cannot be used as job names: • image, services, stages, types, before_script, after_script, variables and cache •
  • 17. RUNNER GitLab Runner is the open source project that is used to run your jobs and send the results back to GitLab. It is written in GO. It is used in conjunction with GitLab CI, the open-source continuous integration service included with GitLab that coordinates the jobs. 17
  • 18. RUNNER FEATURES • Allows to run: ◦ multiple jobs concurrently ◦ use multiple tokens with multiple server (even per-project) ◦ limit number of concurrent jobs per-token • Jobs can be run: ◦ locally ◦ using Docker containers ◦ using Docker containers and executing job over SSH ◦ using Docker containers with autoscaling on different clouds and virtualization hypervisors ◦ connecting to remote SSH server 18
  • 19. RUNNER FEATURES • Is written in Go and distributed as single binary without any other requirements • Supports Bash, Windows Batch and Windows PowerShell • Works on GNU/Linux, OS X and Windows (pretty much anywhere you can run Docker) • Allows to customize the job running environment • Automatic configuration reload without restart • Easy to use setup with support for Docker, Docker-SSH, Parallels or SSH running environments • Enables caching of Docker containers • Easy installation as a service for GNU/Linux, OSX and Windows • Embedded Prometheus metrics HTTP server 19
  • 21. CLASSICAL INFRASTRUCTURE 21 DEV / CI INT MOE MOA PPD PROD Non Production Environments Production Environments
  • 22. CLOUD INFRASTRUCTURE 22 DEV / CI INT MOA PPD PROD Non Production Environments Production Environments DEV / CIDEV / CI MOEMOEMOE MOAMOA PROD
  • 24. PRO • Integrated in Gitlab • Docker and kubernetes integration • Parallel builds • CI/CD by code • No fu…g plugins ^^ • Open to other source control tools : GitHub • Scripting is the base 24
  • 25. CON • Only available in Gitlab 25