2016-07-23 16 views
2

私はいくつかの(ソース)リポジトリを持っています。これらのレポジトリの1つにコミットがプッシュされるたびに、ソースをビルドし、結果を別の(ターゲット)リポジトリにプッシュするタスクがトリガされなければなりません。Phabricatorのビルドのシーケンシャル化と並列化

ソースリポジトリはPhabricatorでホストされています。ターゲットリポジトリは別々にホストされます。 Jenkinsはすべてのリポジトリにアクセスできます。

私がやったことです:

  • パラメータ化スクリプトを使用してビルド仕事をしていませんジェンキンスにおけるプロジェクト
  • ジェンキンス
  • Aヘラルドを呼び出すMake HTTP RequestビルドステップとHarbormasterでビルド計画コミットがソースリポジトリの1つにプッシュされるたびにHarbormasterのビルドプランをトリガするルール。

あるソースリポジトリのプッシュされたコミットがすべて正しい順序でビルドされていることを確認してください。そして、いくつかのソースリポジトリ間でビルドをどのように並列化できますか?私は避けたいと何

は、各ソースリポジトリのジェンキンスおよび/またはHarbormaster上のセットアップの(巨大な)束です。

答えて

0

短い答えは、プロセスの順序は、常にリポジトリにコミットの順番と同じであることを確認してくださいヘラルド/ Harbormasterです。コミットを非順次的に処理しないようにするには、ビルドステップの依存関係としてビルドステップWait for Previous Commits to Buildを使用する必要があります。

それらのそれぞれは、特定のリポジトリの(論理和)セットする責任がある複数のビルド計画の横には他の可能性はありません複数のリポジトリ間の処理を並列化します。しかし、彼らはすべて、ジェンキンスで1つの仕事を使うことができました。なぜなら、ファブリケーターはプロセスオーダーの担当者だからです。

https://secure.phabricator.com/Q453参照してください。