J'exécute un travail gitlab et dans le travail, j'essaye d'annuler certaines variables définies dans les paramètres CI / CD.
Par exemple, j'ai
SOME_VARIABLE défini sur
Ensuite, dans la définition du travail, j'essaye
Variables :
SOME_VARIABLE: ""
scénario:
- echo SOME_VARIABLE - [% SOME_VARIABLE%]
SOME_VARIABLE - [
au lieu de
SOME_VARIABLE - []
Quelqu'un est-il tombé sur ça?
3 Réponses :
Les variables CI / CD du projet ont priorité sur les variables définies par YAML. Voici l'ordre de priorité.
Ceci est techniquement correct mais ne répond pas à ma question.
Je vais devoir répondre à cela car cela peut être assez obscur.
Il s'avère donc que lorsque vous définissez une variable sous Windows, vous devez dire
set v = some_value
Pour le désactiver, il doit être
set v =
pas
set v = ''
Lorsque vous le définissez sur une chaîne vide, ce sera cela, juste des guillemets:
script: - set v= - run_my_script_that_needs_v_unset
Si vous le désélectionnez pour le vider correctement, vous obtenez:
variables: v:
Cependant dans gitlab, vous ne pouvez pas laisser de valeurs vides, telles que
$ set v= $ echo %v% %v%
Vous n'avez pas besoin de =
faites simplement set
Example>
before_script: - set S3_OBJECTS - source ./s3-objects.sh
Pouvez-vous afficher votre fichier .gitlabci.yml? Cela peut être dû au fait que Gitlab CI interprète votre guillemet double avant le script comme vide et réutilise toujours l'ancien. Peut-être que si vous mettez un espace à la place ou une autre valeur neutre