0

我有以下问题,不幸的是,在 Internet 上找不到任何东西。

我使用 Continua CI 作为 BuildServer。我有一个作为 DailyBuild 的配置。

现在将创建一个带有 Continua CI 的版本。基本上,实际的构建过程与 DailyBuild 相同,只是之前需要启动其他配置。

这可能吗?

配置发布将是这样 Config 1 + Config 2 + DailyBuild Config

我是否必须准确地重新创建三个配置(错误源)还是有另一种可能性?

您在 BuildServer 上的 DailyBuild、Patch 和 Release 的结构是什么?

我希望你能帮助我或向我展示实现这一点的新方法。

谢谢!

4

1 回答 1

1

当另一个配置完成时,您可以使用Build Completed Triggers来启动一个配置。但是,目前没有任何方法可以启动另一个配置,并在一个配置启动时等待它完成。计划在将来使用依赖项功能使之成为可能。

我建议您为构建过程的每个部分使用一个带有阶段的单一配置。然后,您可以使用阶段跳过条件、阶段提升条件If 和 Else操作来根据变量和表达式的值选择运行哪些阶段或操作。

我假设 DailyBuild 将由Time Trigger 启动,而 Patch 和 Release 构建将手动启动或由Repository Trigger 启动。也许 Patch 构建是由特定的存储库分支或标签触发的,而 Release 构建是由另一个触发的。配置阶段的条件可以测试分支或标签的值,例如 $Source.RepoName.Branch$ Equals 'Release' 或 $Source.RepoName.LatestTagName$ StartsWith 'Patch',或者测试变量的值。该变量可以在运行构建时在“队列选项”对话框中手动设置,也可以由“编辑触发器”对话框的“变量”选项卡中指定的触发器设置。

在您的发布配置为“Config 1 + Config 2 + DailyBuild Config”的场景中,我会将其更改为“Stage 1 + Stage 2 + DailyBuild Stage”。第 1 阶段和第 2 阶段将分别使用 Skip Condition 检查由 DailyBuild 触发器设置的变量,例如 %TriggeredBy% Equals 'DailyBuild',或 $Build.StartedBy$ 表达式的值,例如 $Build.StartedBy$ Equals 'DailyBuildTrigger'。这意味着第 1 阶段和第 2 阶段只有在 DailyBuildTrigger 未启动构建时才会运行。

或者,您可以克隆配置,并在每个构建过程中对其进行编辑,但我不建议这样做,因为更改和维护更加困难。

于 2018-10-18T03:43:11.263 回答