| CI pipeline |
Definition of a list of CI jobs in a file .gitlab-ci.yml within the root directory of your GitLab project. |
[1] |
| CI job |
Definition of commands to be executed in a specific stage and within a defined container. |
[1] |
| Container Image |
Blueprint of a container to be used to create containers. |
[1] |
| Container |
Running instance of an application or service. Commands defined in a CI job are executed in a container environment, similar to Virtual Machines, but more lightweight. |
[1] |
stages |
Defines a list of stage names which is worked through in sequence; CI jobs within a stage are executed in parallel. Default stages are build, test, deploy, if keyword is not given. |
[1] |
stage |
Selects a specific stage from the list of stages to run the CI job in. |
[1] |
image |
Selects a container image. Commands of a CI job are executed within a container. Most common Container Image Registry is Docker Hub. |
[1] |
script |
Defines a list of commands to be executed within the chosen container. |
[1] |
before_script |
Defines a list of commands executed before the script section. Mostly used for initialization purposes and installation of dependencies. Advantage: can be used in the default section to reduce repetitions. |
[1] |
rules |
Used for conditional execution of a CI job. Mostly used with the rules:if sub-keyword to specify the conditions to be met to run a CI job. |
[1] |
artifacts |
Stores specified files and folders to keep them for later access or to pass them on to later CI jobs. |
[1] |
dependencies |
Specify previous CI job to fetch artifacts from. |
[1] |
pages |
CI job name or keyword that deploys static HTML webpages contained in the “public” directory to GitLab Pages. |
[1] |
default |
Defines default configurations for supported keywords like image, before_script, artifacts, cache, interruptible, etc. |
[1] |
extends |
Reuses keywords and their configurations defined in a “hidden” job configuration like .my-base-config that is not executed as a CI job, since it is a partial configuration rather than a complete CI job definition. |
[1] |
!reference |
Reuses a YAML list defined in a “hidden” job configuration. |
[1] |
parallel:matrix |
Runs multiple CI jobs in parallel based on the same parameterized CI job. If two lists of values are given all combinations of these values are used to run CI jobs based on these combinations. |
[1] |
variables |
Defines environment variables to be used in a CI job. |
[1] |
cache |
Specifies paths of files and directories that will be cached between CI jobs. |
[1] |
needs |
Sets the order of CI jobs by specifying CI jobs the current CI job needs to be finished successfully in order to start. |
[1] |
interruptible |
Cancels a current CI job run if newer CI pipeline versions run that outdate the running CI job. |
[1] |
services |
Containers to run side-by-side to a CI job that the CI job requires to run successfully. This can be used to build Container Images and run Containers inside of Containers, also called Docker-in-Docker or DinD, for short. |
[1] |
tags |
Specifies runner tags to select a GitLab Runner that spins up the Container and runs the given CI job. |
[1] |
include:local |
Includes a YAML file that contains parts of the CI pipeline definition. These YAML files are often put into the directory .gitlab/ci/. |
[1] |