meleu.dev
Search
CTRL + K
4 - GitLab Architecture
back to
GitLab CICD - Nana course
2 - GitLab Executors
Shell Executor
👍 simplest one, but with a lot of cons
👎 no clean build environment
👎 maintenance burden
Docker Executor
👍 commands executed inside a container
👍 jobs are isolated
👎 maintenance burden
Virtual Machine
only makes sense if you're completely unable to use Docker
👍 isolated environment
👎 overhead to instantiate a new job environment
Kubernetes Executor
only makes sense if you have a kubernetes cluster
👍 high availability setup
👍 isolated environment (new Pod for each job)
Docker Machine Executor
⚠️ Docker Machine has been
deprecated
by Docker
3 - Job Execution Flow
GitLab Server
GitLab Runner
Executor
Runner requests new jobs from GitLab Server
Runner compiles and sends job's payload to Executor
Executor clones sources or downloads artifacts from GitLab instance and executes the job
Executor returns job output and status to the Runner
Runner updates job output and status to GitLab Server
4 - Docker Executor
Scope of Runners:
Shared runners: available to all groups and projects in a GitLab instance
Group runners: available to all projects in a group
Specific runners: associated with a specific project
AWS Pre-Requisite
- Useful lecture for me to get used with AWS web interface.
On this page
2 - GitLab Executors
4 - GitLab Architecture
3 - Job Execution Flow
4 - Docker Executor
Pages mentioning this page
GitLab CICD - Nana course