Saltar al contenido principal

Stages

Un stage representa unha fase no proceso de CI/CD. Os jobs dentro do mesmo stage execútanse en paralelo (se hai runners dispoñibles), pero un stage non comeza ata que o anterior remate con éxito.

Exemplo típico de stages:

  1. build: para compilar.
  2. test: para executar tests.
  3. deploy: para despregar o código.

Para definir estes stages débese usar a palabra clave stages no inicio do ficheiro .gitlab-ci.yml, especificando a orde das etapas:

stages:
- build
- test
- deploy

Como sería o funcionamento dun pipeline:

  1. GitLab executa primeiro todos os jobs do stage build.
  2. Se todos os jobs da fase build rematan satisfactoriamente, execútanse os jobs da stage test.
  3. Se jobs de test tamén rematan satisfactoriamente, execútanse os jobs da stage deploy.

Se algún job falla, o pipeline detense (agás que se utilice a opción allow_failure: true).

Se non defines os stages, GitLab ordenará os jobs segundo a orde en que aparecen, pero é boa práctica sempre definilas.