2016-05-11 4 views
8

私はプレーンパイプラインプロジェクトを作成するときに定期的にSCMをポーリングするオプションがあり、変更が検出されるとビルドが実行されます。それは私のためにうまくいった。マルチブランチパイプライン - ブランチプロジェクトを設定する

私はマルチブランチパイプラインを作成し、2つのブランチを追加しました。しかし、この構成では、通常のパイプラインプロジェクトと同じように設定することはできません。サブブランチプロジェクトの構成しか表示できないためです。

多分私も間違っているので、私は実際に何を達成したいのかを教えてください。

私はGitリポジトリの中にPHPプロジェクトを持っています。新しいコミット(メインリポジトリにプッシュされるとき)に構築されるブランチは2つあります。 メインリポジトリは、ホストされているバージョンのBitbucket Serverにあります。可能であれば、私はフックを避け、Jenkinsにbitbucketサーバーの変更をポーリングさせたいと思っています。だから私はそれをどのように達成できますか?

答えて

6

私があなたに合ったら、この2つのブランチだけをビルドするだけです。

もしそうなら、下の「支店ソース」だけ「高度」をクリックして、テキストフィールドに記入例えばあなたの枝「枝を含めます」 test test2(ブランチ名の間のスペースに注意してください)

+0

変更が押されたときにそれらをビルドします。 – devnull

+0

次に、設定する必要があります。コミットが行われた場合にジェンキンに通知するために隠すhttp:// jenkinsserver/git/notifyCommit?url = ssh://[email protected]/test.gitの形式で受信後Webhookを追加してください。 ブランチインデックスを自動的に有効にするには、ポーリングを有効にする必要もありました。 – mrkernelpanic

+0

@mrkernelpanicこれはこの質問ではなかったものの、私の質問に答えました。「Include branches」テキストの形式に関するドキュメントは見つかりませんでした。 – dsh

6

あなたはそれ以外の場合はマルチブランチレベルでトリガーを実行しない場合は定期的にオプションをチェックする必要があります。これは、新しいブランチなどを検出するため、ジョブごとのポーリングを置き換えます。

+1

私は実際にこの答えのためにかなり狩りをしました。 "定期的に実行されなければ定期的に"ビルドトリガの下にあり、私が "ビルド"しているとはSCMに変更をポーリングすることを意味しません。構成オプションは直感的ではありませんでした。 –

0

実際には、Jenkinsfile自体にSCM pollig(期待どおりの方法)を設定する必要があります。これは、設定を処理properties DSLのEL素子です:

properties([ 
    pipelineTriggers([pollSCM('H 20 * * 1-5')]) 
]) 

とにかく、私は非常にパイプラインスニペットジェネレータを詳しく見て持ってお勧め:

<your-jenkins-url>/pipeline-syntax/ 

それは欠場しやすいが、非常に便利だし、それがよ現在インストールされているプラ​​グインに基づいて作成されます。そこには、わかりやすい一連のオプションがあります。properties

関連する問題