web-dev-qa-db-ja.com

Jenkinsファイルの変数にgit commitハッシュを割り当てる方法

次のように、Jenkinsパイプラインの変数定義にgit commitハッシュを割り当てようとしています

GIT_COMMIT_HASH = sh "(git log -n 1 --pretty=format:'%H')"

これは、Jenkinsビルドログにコミットハッシュを出力しますが、値の割り当てに失敗します。

を使用して値を印刷しようとすると

steps{
    script {
                GIT_COMMIT_HASH = sh "(git log -n 1 --pretty=format:'%H')"

                echo "**************************************************"
                echo "${GIT_COMMIT_HASH}"
                echo "**************************************************"
    }
}

これはnullになります

値を割り当てるにはどうすればよいですか?

7
co2f2e

Stdoutに単にダンプするのではなく、shスクリプトにstdoutをスクリプトに戻すように指示する必要があります。

GIT_COMMIT_HASH = sh (script: "git log -n 1 --pretty=format:'%H'", returnStdout: true)
11
Rob Hales