Comment définir un (environnement) de la variable dans le script de construction dans Gitlab CI?

J'ai un mannequin script de construction dans le Gitlab CI:

pwd
ci_app_path=$(pwd)
echo "INFO: current directory: $ci_app_path"

et je reçois cette sortie lorsque le système de démarrer le processus de création:

pwd
/home/kai/gitlab-runners/gitlab-ci-runner/tmp/builds/project-1

ci_app_path=$(pwd)

echo "INFO: current directory: $ci_app_path"
INFO: current directory:

si la variable n'a pas été définie (ou a été définie uniquement pour cette ligne: comme je sais que chaque ligne exécutés séparément)

J'ai entendu parler de push/pop mécanisme pour atteindre le niveau de fonctionnalités que j'ai désiré, mais impossible de trouver tous les détails, comment mettre cela en œuvre.

Mise à jour:

comme je le pensais, chaque ligne va exécutés séparément. Donc, la portée des variables est une seule ligne, où il est défini:

script:

pwd
ci_app_path=$(pwd) && echo "INFO: current directory: $ci_app_path"

de sortie:

pwd
/home/devuser/gitlab-runners/gitlab-ci-runner/tmp/builds/project-1

ci_app_path=$(pwd) && echo "INFO: current directory: $ci_app_path"
INFO: current directory: /home/kai/gitlab-runners/gitlab-ci-runner/tmp/builds/project-1

Je ne pense pas que le fait d'écrire le script entier comme un one-liner est une bonne idée/pratique.

Comment obtenir le jeu de variables lors de l'exécution du script de construction?

P. S.

en fait je me demande pourquoi l'ensemble du script de construction ne doivent pas contenir des lignes vides?, sinon, elle retourne:

No such file or directory

et l'échec de la construction sur ce lieu

Je ne suis pas familier avec gitlab, mais c'est le même type de problème avec make (peut-être est-ce gitlab ci utilise?). Avec make, l'idée est que si vous avez que le nombre de lignes, vous devez les enregistrer dans un script externe et ont make l'exécuter. Le Makefile n'est pas un script shell, et ne doivent pas être traités comme une seule. gitlab ci peut prendre la même approche.

OriginalL'auteur static | 2013-10-14