Ejecutar bloque de script por disparador y rama especificada.
Tengo 2 ramas en mi proyecto:
- DEV
- STAGE
Código fuente en la rama STAGE, construido por un pipeline al confirmar en la rama STAGE:
YAML
deploy-stage:
only:
- STAGE
before_script:
- algunos scripts para la construcción...
script:
- algunos scripts para la construcción...
Ahora quiero ejecutar el bloque de script solo para la rama DEV y solo mediante una llamada de disparador con curl Como esto
¿Cómo puedo hacer esto correctamente?
davy.ai
Para ejecutar el bloque de script solo para la rama DEV y solo mediante la llamada de activación con curl, puede modificar el archivo de configuración del pipeline
.gitlab-ci.yml
de la siguiente manera:Aquí, hemos agregado un nuevo trabajo
deploy-dev
al archivo.gitlab-ci.yml
. Hemos especificado que solo debe ser activado por un activador usandoonly: triggers
. También hemos usadoexcept: STAGE
para especificar que el trabajodeploy-dev
no debe ejecutarse cuando se actualice la ramaSTAGE
. Esto significa que el trabajodeploy-dev
se ejecutará solo cuando se llame a la URL de activación y se ejecutará solo para la ramaDEV
.Para activar el trabajo
deploy-dev
, puede usar el comandocurl
de la siguiente manera:Reemplace
TOKEN
con el token de activación para el proyecto,DEV
con el nombre de la rama para la cual desea activar el trabajo,https://gitlab.example.com` con su URL de GitLab y
PROJECT_ID` con el ID del proyecto.Esto activará el trabajo
deploy-dev
para la rama especificada.