Phabricator 中构建的序列化和并行化

Sequentialization and parallelization of builds in Phabricator

我有几个(源)存储库。每当将提交推送到这些存储库之一时,必须触发一个任务,该任务构建源并将结果推送到另一个(目标)存储库。

源存储库托管在 Phabricator 中。目标存储库单独托管。 Jenkins 可以访问所有存储库。

我所做的是:

如何确保一个源存储库的所有推送提交都按正确的顺序构建?以及如何在多个源存储库之间并行构建?

我想避免的是在 Jenkins and/or Harbormaster 上为每个源存储库进行(大量)设置。

简短的回答是Herald/Harbormaster确保处理顺序始终等于存储库中提交的顺序。为防止提交的非顺序处理,您需要使用构建步骤 Wait for Previous Commits to Build 作为构建步骤的依赖项。

要在多个存储库之间并行处理,除了多个构建计划之外没有其他可能性,其中每个构建计划负责一组特定的(分离的)存储库。但是他们都可以在 Jenkins 中使用一份工作,因为 Phabricator 将是唯一负责流程订单的人。

另见 https://secure.phabricator.com/Q453