4
votes

GitLab CI / CD unset variables définies dans CI / CD Settings

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?


1 commentaires

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


3 Réponses :


0
votes

Les variables CI / CD du projet ont priorité sur les variables définies par YAML. Voici l'ordre de priorité.

  1. Variables de déclenchement ou variables de pipeline planifiées.
  2. Variables au niveau du projet ou variables protégées.
  3. Variables au niveau du groupe ou variables protégées.
  4. Variables au niveau de la tâche définies par YAML.
  5. Variables globales définies par YAML.
  6. Variables de déploiement.
  7. Variables d'environnement prédéfinies.

de Variables GitLab CI / CD: priorité des variables


1 commentaires

Ceci est techniquement correct mais ne répond pas à ma question.



3
votes

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%


0 commentaires

0
votes

Vous n'avez pas besoin de = faites simplement set

Example>

 before_script:
    - set S3_OBJECTS
    - source ./s3-objects.sh


0 commentaires