2016-03-30 2 views
54

Jenkinsfileの中から別のジョブのビルドをどのようにトリガーできますか?GitHub Org Pluginを使用してjenkinsパイプライン(jenkinsfile)から別のジョブをトリガーするにはどうすればよいですか?

私は、このジョブが同じgithub organizationの下にある別のリポジトリであると仮定します。すでに自身のJenkinsファイルがあります。

また、ローカルブランチのダウンストリームビルドをトリガーするのは意味がないので、ブランチ名がマスターの場合にのみこれを実行します。

アップデート:まだ

stage 'test-downstream' 
node { 
    def job = build job: 'some-downtream-job-name' 
} 

、私はエラーを取得し、実行時に

ませパラメータ化の仕事私はこのことを確信しているいくつかの-downtream - ジョブ名が

を発見し命名ませんJenkinsにジョブが存在し、現在の組織フォルダーと同じ組織フォルダーの下にあります。それ自身の Jenkinsfileを持つ別の仕事です。

この質問は、GitHub組織の各リポジトリとブランチのジョブを自動作成して管理するGitHub Organization Pluginに固有のものです。

答えて

62

まず、nodebuildステップをラップするエグゼキュータスロットの無駄であることができますね。上流エグゼクティブは何の理由もなくアイドル状態になります。

第2に、マルチブランチプロジェクトでは、環境変数BRANCH_NAMEを使用して、現在のブランチでロジックを条件付きにすることができます。

第3に、jobパラメータには絶対または相対ジョブ名が使用されます。パス修飾なしで名前を指定すると、同じフォルダ内の別のジョブを参照することになります。マルチブランチプロジェクトの場合は、同じリポジトリの別のブランチを意味します。私は第2のパイプラインに渡された、単純なパラメータを使用してジョブを開始したいとhttps://dzone.com/refcardz/continuous-delivery-with-jenkins-workflowに答えを見つけました:

したがって、あなたが書くために何を意味するのかは、上記の答えを述べたことに加えて、おそらく

if (env.BRANCH_NAME == 'master') { 
    build '../other-repo/master' 
} 
+1

ありがとう!あなたがこのビルドをトリガする方法について知っていれば、それが完了するのを待つことなく、それを待つことなく二重になるでしょう:) – sorin

+17

_Snippet Generator_: 'build job: '../other-repo/master' ' –

+0

ありがとう、素晴らしい答え、私が最初にこれを読んだときに何を話していたのか分かりませんでした。 – danday74

9

パイプラインのコマンドbuildは、ジェンキンの他のジョブをトリガーするためのものです。

Example on github

ジョブはジェンキンスに存在している必要がありますし、パラメータ化することができます。ブランチの としては、私はあなたがすべてのread it from git

+3

を::

だから私は使用「jobname'が、私は、このエラージョブ名found'という名前の' NOパラメータ化の仕事を取得し、私はこの名前の仕事があることを保証することができます組織フォルダ内の同じレベルに配置します。 – sorin

+1

はいジョブがありますが、そのジョブはパラメータ化されていません。GitHub組織プラグインによって作成されたジョブをパラメータ化する方法を理解しようとしています。 – yiwen

+6

ジョブ名の形式は次のとおりです:$ {ORGANISATION_NAME}/$ {REPO_NAME}/master " –

38

です。私は仕事を構築 `追加しようとした

stage ('Starting ART job') { 
    build job: 'RunArtInTest', parameters: [[$class: 'StringParameterValue', name: 'systemname', value: systemname]] 
} 
+1

ビルドジョブはステップ(バージョン0.5から)に埋め込まなければなりません – rhoerbe

+3

BUILD_NUMBER of 'build'コマンドによって呼び出されたJenkinsジョブが返されましたか?次のいずれかの段階でBUILD_NUMBERにアクセスするにはどうすればよいですか?誰でもそのコマンドが文書化されていることを知っていますか? – user909481

関連する問題