es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Utilice el nombre de la rama empujada en el script de gitlab-ci.

Tengo este script gitlab-ci que se ejecuta en una rama con el prefijo “staging-” utilizando una expresión regular y un comando en el script que cambia a la rama empujada. ¿Cómo puedo usar el nombre de la rama empujada en el script? Intenté usar la misma expresión regular y el trabajo falló.

implementar:
  etiquetas:
    - servidor
  solo:
    - /^staging-.*$/
  script:
    - cd /var/www/proyecto
    - sudo git reset --hard HEAD
    - sudo git clean -fd
    - sudo git checkout /^staging-.*$/
    - sudo git pull origin /^staging-.*$/
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para utilizar el nombre de la rama solicitada en el script, puedes hacer uso de las variables de entorno predefinidas de GitLab. Específicamente, puedes usar la variable $CI_COMMIT_REF_NAME, la cual contiene el nombre de la rama o etiqueta que se está construyendo actualmente.

    Entonces, para utilizar el nombre de la rama solicitada para hacer checkout y pull desde esa rama, puedes ajustar el script de la siguiente manera:

    deploy:
      tags:
        - server
      only:
        - /^staging-.*$/
      script:
        - cd /var/www/proyecto
        - sudo git reset --hard HEAD
        - sudo git clean -fd
        - sudo git checkout $CI_COMMIT_REF_NAME
        - sudo git pull origin $CI_COMMIT_REF_NAME
    

    Al reemplazar la expresión regular con la variable $CI_COMMIT_REF_NAME, GitLab substituirá la variable con el nombre de la rama que haya disparado el pipeline, y el script hará checkout y pull desde esa rama en lugar de simplemente intentar hacer coincidir el patrón staging-*.

Comments are closed.