Je veux savoir s'il est possible de définir une variable CI Gitlab personnalisée à partir d'une déclaration de condition if-else.
Dans mon .gitlab-ci.yml
fichier J'ai les éléments suivants:
variables:
PROJECT_VERSION: (if [ "${CI_COMMIT_TAG}" == "" ]; then "${CI_COMMIT_REF_NAME}-${CI_PIPELINE_ID}"; else ${CI_COMMIT_TAG}; fi);
Trying to set project version:
image: php:7.1-cli
stage: test
script:
# this echoes correct string (eg. "master-2794")
- (if [ "${CI_COMMIT_TAG}" == "" ]; then echo "${CI_COMMIT_REF_NAME}-${CI_PIPELINE_ID}"; else echo ${CI_COMMIT_TAG}; fi);
# this echoes something like "(if [ "" == "" ]; then "master-2794"; else ; fi);"
- echo $PROJECT_VERSION
Cela peut-il être fait? Si oui, qu'ai-je manqué? Merci
Cela devrait se produire.
CI_COMMIT_TAG
est uniquement défini sur une valeur dans un travail gitlab. De https://docs.gitlab.com/ee/ci/variables/README.html
CI_COMMIT_TAG - Le nom de la balise de validation. Présent uniquement lors de la création de balises
Par conséquent, dans la section varibales
CI_COMMIT_TAG
n'est pas défini, donc égal à "".
Donc, si vous souhaitez utiliser CI_COMMIT_TAG
utiliser dans le travail où les balises sont définies. Voir https://docs.gitlab.com/ee/ci/yaml/README.html#tags