Jenkins パイプライン:変数と環境変数

 


✅ Jenkins パイプライン:変数と環境変数の使い方


🎯 1. 変数(variables)とは?

🔹 変数ってなに?

  • 変数=一時的にデータを保存しておく箱のようなもの

  • Jenkins Pipelineでは、よく使う値を変数として登録しておくことで、何度も同じ情報を書く手間が省けます。

  • 特にDockerを使うパイプラインでは便利です。


🧠 例:Docker用の変数設定(イメージ)

  • repository_url = "https://github.com/~"

  • image_name = "myapp"

上記のように定義しておけば、あとはこの変数をパイプライン内で繰り返し使える!


🛠️ 2. Jenkinsfileで変数を定義する方法

pipeline {
agent any environment { def myString = "Hello world" // 文字列 def myNumber = 10 // 数値(整数) def myBool = true // 真偽値(Boolean) } stages { stage('Demo') { steps { echo "myString: ${myString}" echo "myNumber: ${myNumber}" echo "myBool: ${myBool}" } } } }

🔤 各変数の意味と使い方

種類定義例特徴
文字列def myString = "Hello"ダブルクォートで囲む
数値def myNumber = 10クォートなしでOK
真偽値def myBool = truetrue または false

👉 使うときは ${変数名} の形で「文字列に差し込む」のが基本です。これを「文字列補間(interpolation)」と言います。

🧪 実行手順まとめ(復習)

  1. Jenkinsで新しい「パイプラインジョブ」を作成。

  2. Jenkinsfile の内容を貼り付ける。

  3. 保存 → 「今すぐビルド」をクリック。

  4. コンソール出力で、変数の中身が確認できる。


🌱 3. Jenkinsの組み込み環境変数(environment variables)

Jenkinsには、最初から使える便利な変数があります。
自分で定義しなくても使えるのがポイント!


📌 例:BUILD_NUMBER

  • Jenkinsが実行したビルドの番号を自動で割り当ててくれる。

  • 1回目は1、2回目は2……と自動でカウントアップされます。

pipeline {
agent any stages { stage('Demo') { steps { echo "Build Number: ${BUILD_NUMBER}" } } } }

🔁 ビルドするたびに番号が1つずつ増えるのが分かります。


✅ どう役立つの?

Dockerのタグ付けで「latest」を使うのは推奨されません(上書きされる危険あり)。

代わりにこう書けば、一意のタグが付きます:

docker build -t myapp:${BUILD_NUMBER} .

これで毎回 myapp:1, myapp:2... と別バージョンが作れます!


📘 Jenkins 組み込み変数の一覧

  • BUILD_NUMBER:ビルド番号

  • JOB_NAME:ジョブ名

  • BUILD_ID:ビルドID

  • WORKSPACE:作業フォルダのパス

  • BRANCH_NAME:ブランチ名(Multibranch Pipelineのとき)

📎 公式ドキュメントも確認すると便利です。


前の記事:Jenkins:マルチブランチパイプラインとパラメータ付きパイプライン

次の記事:Jenkins応用