¿Cómo puedes ejecutar etapas de Gitlab condicionalmente?

2 minutos de lectura

avatar de usuario de deepdive
bucear profundo

Hay 3 etapas: construir, probar e implementar en .gitlab-ci.yml.

Se debe ejecutar una etapa de prueba de regresión nocturna todas las noches.

Aquí está lo relevante .gitlab-ci.yml código:

stages:
  - build
  - test
  - deploy

build_project:
  stage: build
  script:
    - cd ./some-dir
    - build-script.sh
  except:
  - tags

#Run this only when say variable 'NIGHTLY_TEST == True'. But HOW?
nightly_regression_test_project:
  stage: test
  script:
    - cd ./some-dir
    - execute test-script

Etiquetado diario para ejecutar solo el test el escenario no es preferible.

¿Alguna otra idea?

  • Publiqué una respuesta con capturas de pantalla y un ejemplo. Espero que ayude

    – Frak

    27 de diciembre de 2019 a las 16:51


  • Esta es una pregunta sobre la “programación” de la tubería, no realmente sobre la ejecución “condicional” de la etapa de la tubería.

    – OneMoreNerd

    15 de octubre de 2020 a las 11:28

  • Nota: no puede simplemente dejar la variable sin configurar. debe tener el valor true (todo en minúsculas)

    – Asad-ullah Khan

    13 de junio de 2019 a las 15:36

  • ¿Cuáles son las formas posibles de definir la variable NIGHTLY_TEST?

    – Diego Marín Santos

    24 de noviembre de 2020 a las 17:01

  • @DiegoMarin Una forma sería desde Configuración> CI / CD> Variables. Otro sería usar Horarios (stackoverflow.com/a/59503715/3498950)

    – spencer.sm

    31 de enero de 2021 a las 5:19

  • Si no quieres el nightly_regression_test_project el trabajo no falla en toda la canalización, puede usar exit 0 en lugar de exit 1: el trabajo finalizará, pero la canalización continuará

    – Matt Arroz

    14 de marzo de 2019 a las 18:52


  • necesito citar”[ -z ‘$NIGHTLY_TEST’ ] && salir 1;”

    – rh0x

    2 de septiembre de 2019 a las 10:18

  • Recibo el error “mala sangría de una entrada de secuencia” en el editor de gitlab

    – Un Yashwanth

    6 de marzo de 2022 a las 11:21

  • Si realmente puede juntar algo en la respuesta en sí, sería útil como referencia y luego ir al documento

    – bucear profundo

    11 de agosto de 2017 a las 1:55

  • Pensé en hacer eso, pero me preocupaba que las instrucciones cambiaran en el próximo mes más o menos. Volveré y agregaré instrucciones para el método actual, y espero que no lo cambien 🙂

    – TrueCamelType

    11 de agosto de 2017 a las 1:56

  • La documentación no es útil. Muestra cómo establecer una variable y muestra cómo usar only y except para horarios, pero no muestra cómo usar only y except CON variables. ¿Qué sintaxis se debe utilizar?

    – Frak

    27 de diciembre de 2019 a las 16:38

¿Ha sido útil esta solución?