パイプラインにおける環境変数を理解する
この最後のステップでは、環境変数について学びます。environment ディレクティブを使用すると、パイプライン全体で使用できる変数を定義できます。これは、ステップ内にハードコーディングすることなく、設定を管理するのに理想的です。
リモートリポジトリの Jenkinsfile は、デプロイターゲットを指定する環境変数を使用して、この概念を既に実証しています。
環境変数がどのように定義され、使用されるかを見てみましょう。
pipeline {
agent any
environment {
DEPLOY_TARGET = 'staging'
}
stages {
// ... other stages ...
stage('Deploy') {
steps {
echo "Deploying the application to ${env.DEPLOY_TARGET}..."
sh 'echo "Application deployed successfully!"'
}
}
}
}
Jenkins パイプラインにおける環境変数に関する重要なポイント:
environment { ... } ブロックは、パイプライン全体で利用可能な変数を定義します。
- 変数は
${env.VARIABLE_NAME} の構文を使用してアクセスします。
- Groovy の変数補間はダブルクォート文字列内でのみ機能するため、変数補間を含む文字列にはダブルクォート (
") を使用することが重要です。
- 環境変数を使用すると、パイプラインがより柔軟になり、保守が容易になります。
-
まだ実行していない場合は、Build Now をクリックして Jenkins で新しいビルドをトリガーします。
-
ビルドが完了したら、ビルドの Console Output を確認します。「Deploy」ステージのログで、変数が正しく置換されていることがわかります。
...
[Pipeline] { (Deploy)
[Pipeline] echo
Deploying the application to staging...
[Pipeline] sh
+ echo Application deployed successfully!
Application deployed successfully!
[Pipeline] } // stage
...
Finished: SUCCESS
DEPLOY_TARGET 環境変数の値 staging が、echo ステートメントに自動的に置換されていることに注目してください。
環境変数は、パイプラインコード自体を変更することなく、さまざまな環境(開発、ステージング、本番)に合わせて簡単に構成できる、柔軟なパイプラインを作成するために不可欠です。