2016-04-19 6 views
0

私はJenkinsをセットアップしており、Jenkinsワークフローマルチブランチプラグインを使用しています。私はGitHubリポジトリ内のコミットを任意のブランチでリッスンするように設定しました。Jenkinsワークフローマルチブランチプラグインを使用して現在のブランチを引き出します

これは分岐の1つでコミットJenkinsfileのサンプルです:私はこのブランチで何かをコミットすると

node { 
    // Mark the code checkout 'stage'.... 
    stage 'Checkout' 

    // Get some code from a GitHub repository 
    git url: '[email protected]:Me/my-repo.git', credentialsId: '###' 

    // Get the maven tool. 
    // ** NOTE: This 'M3' maven tool must be configured 
    // **  in the global configuration. 
    def mvnHome = tool 'M3' 

    stage 'Build' 
    sh "${mvnHome}/bin/mvn clean install" 
} 

ビルドがトリガされます。問題はgit checkoutsがマスターブランチであり、現時点でビルド中のブランチではないことです。

現在のビルドのブランチをどのようにチェックアウトできますか?


ソリューションは、これまで

  1. 利用checkout scmの代わりgit url: '[email protected]:Me/my-repo.git', credentialsId: '###'この方法は、あなたは現在のブランチをチェックアウトします。
  2. 分岐変数を使用します - 詳細は、この点を確認してください、あなたのJenkinsfileJenkins Multibranch pipeline: What is the branch name variable?

答えて

1

gitライン上branchパラメータを指定してチェックアウトするブランチの名前を追加します。

git {...}, branch: 'branch-name' 

一部ビルドトリガーはブランチ名(例えばGerrit Trigger PluginGERRIT_BRANCHに設定されている)を含む環境変数を設定し、branchをその環境変数に設定することができますrブランチ。

+0

ありがとうございました。私は 'git'コマンドの代わりに' checkout scm'を使うことができることを知りました。現在のブランチをチェックアウトします。 –

+0

ああ、それは私の答えよりも良い方法です。 –

関連する問題