にダミーのビルドスクリプトがありGitlab CI
ます:
pwd
ci_app_path=$(pwd)
echo "INFO: current directory: $ci_app_path"
システムがビルドプロセスを開始すると、次の出力が得られます。
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:
そのため、変数は設定されていません(または、その行に対してのみ設定されていました:各行が個別に実行されていることがわかっているため)
必要な機能に到達するためのプッシュ/ポップメカニズムについて聞いたことがありますが、それを実装する方法の詳細を見つけることができませんでした。
アップデート:
思った通り、各行は別々に実行されます。したがって、変数のスコープは、定義されている 1 行だけです。
脚本:
pwd
ci_app_path=$(pwd) && echo "INFO: current directory: $ci_app_path"
出力:
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
スクリプト全体をワンライナーとして書くことは良い考え/実践ではないと思います。
ビルドスクリプトの実行中に設定された変数を取得する方法は?
PS
実際、ビルド スクリプト全体に空行を含めてはならないのはなぜでしょうか?
No such file or directory
この場所でビルドが失敗する