Skip to content

Keyword Overview

Keyword / Term Explanation Links
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]