web-dev-qa-db-ja.com

Jenkins PipelineジョブでSCM(Git)変数にアクセスする

これが私のパイプラインコードです。

node ('master') {
    git url: "$GIT_REPO_URL", branch: "$GIT_BRANCH"
    echo env.GIT_COMMIT
    echo env.GIT_BRANCH
    echo env.GIT_REVISION
}

ビルド結果は次のようになります。

Started by user anonymous
[Pipeline] Allocate node : Start
Running on master in /var/lib/jenkins/jobs/test/workspace
[Pipeline] node {
[Pipeline] git
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.Origin.url https://acme/scm/app.git # timeout=10
Fetching upstream changes from https://acme/scm/app.git
 > git --version # timeout=10
 > git fetch --tags --progress https://acme/scm/app.git +refs/heads/*:refs/remotes/Origin/*
 > git rev-parse refs/remotes/Origin/master^{commit} # timeout=10
 > git rev-parse refs/remotes/Origin/origin/master^{commit} # timeout=10
Checking out Revision fb455725db1b768ff63e627a087d2771099af7c4 (refs/remotes/Origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f fb455725db1b768ff63e627a087d2771099af7c4 # timeout=10
 > git branch -a -v --no-abbrev # timeout=10
 > git branch -D master # timeout=10
 > git checkout -b master fb455725db1b768ff63e627a087d2771099af7c4
 > git rev-list fb455725db1b768ff63e627a087d2771099af7c4 # timeout=10
[Pipeline] echo
null
[Pipeline] echo
null
[Pipeline] echo
null
[Pipeline] } //node
[Pipeline] Allocate node : End
[Pipeline] End of Pipeline
Finished: SUCCESS

Env変数env.GIT_COMMIT、env.GIT_BRANCHは読み込まれません。それらの値は別の変数で利用可能ですか?

24

GIT_COMMITを取得する方法の例を次に示します- https://github.com/jenkinsci/pipeline-examples/blob/master/pipeline-examples/gitcommit/gitcommit.groovy

GIT_BRANCHも公開するように拡張できます。このスクリプトは、cloudbeesが管理するワークフロー例git repoからのものです。 GIT_BRANCH変数を取得する機能を追加すると、プルリクエストを送信できる場合があります。

21
Chida