11

Git プラグインは Jenkins に (デフォルトで) インストールされていますが、Git プラグインによって渡されるはずの環境変数を取得できません。を探しています:

GIT_COMMIT
GIT_BRANCH
GIT_PREVIOUS_COMMIT 
GIT_PREVIOUS_SUCCESSFUL_COMMIT
GIT_URL

など。次のコードで、Jenkinsfile を使用して Github リポジトリを指しているパイプライン ジョブ アイテムを使用しています。

stage 'PushToProd'
node {
    git url: "https://github.com/username/fakeurl.git"
    echo "Starting PushToProd"
    sh 'printenv'
    sh 'env'
    sh 'echo $BRANCH_NAME' 
    sh 'echo $GIT_COMMIT'
}

Github プラグインを使用するとき、envまたは使用しないときに、多くの環境変数を取得しています。 ジョブに渡された Git 環境変数を取得する方法に関するヒントはありますか?printenv

更新: フリースタイル プロジェクトを使用し、シェル ステップを使用すると、Git 環境変数を簡単に取得できますecho $GIT_COMMIT。Jenkinsfile + Pipelineジョブアイテムを使用して動作させる方法を知りたい.

4

5 に答える 5

13

二重引用符がない、中括弧がない、および がないため、これは機能しませんenv.

sh 'echo $BRANCH_NAME' 

これは、Jenkinsfile で期待どおりに機能します。

node {
    sh "echo ${env.BRANCH_NAME}"
}
于 2016-07-29T11:36:23.130 に答える
5

したがって、この Stackoverflow の問題に出くわした人は、これが現在のパイプラインの状況のバグであることを認識しておく必要があります。

ここでの多くの議論: https://issues.jenkins-ci.org/browse/JENKINS-35230

基本的に、パイプラインとの互換性がないため、プラグインは環境変数を正しく追加できません。

于 2017-01-04T21:51:32.227 に答える