Dans Gitlab-CI, on peut utiliser after_script
pour effectuer certains traitement après une job, et ce, peut importe ce qui a pu se passer durant la job.
Soucis
Mais si vous avez essayé de partager des variables d'environnement via export
depuis les étapes before_script
ou script
, vous ne serez pas capable d'obtenir leurs valeurs.
Qu'est-ce qui cause le soucis?
Pour chaque exécution de after_script
, Gitlab va créer une nouvelle instance shell.
Par conséquent, tous les éléments temporaire qui ne sont pas partagé entre toutes les instances shell ne seront pas accessibles depuis after_script
.
Résolution
Pour résoudre ce soucis, vous pouvez simplement écrire la valeur de votre variable d'environnements dans un fichier, puis lire ce fichier dans la section after_script
.
job:
before_script:
- export TEST="test"
- echo $TEST > test
after_script:
- export TEST = $(cat test)
- echo $TEST
Liens
- Gitlab : https://gitlab.com/
- Gitlab-CI - after_script : https://docs.gitlab.com/ee/ci/yaml/#after_script
J'espère que ça vous aidera! 🍺
Top comments (0)