Continua CI:如何重用配置? (每日构建 + 发布)

Continua CI: How to ReUse Configuration? (DailyBuild + Release)

我有以下问题,不幸的是在 Internet 上没有找到。

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

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

这可能吗?

配置发布就这样 配置 1 + 配置 2 + DailyBuild 配置

我必须完全重新创建三个配置(错误来源)还是有其他可能性?

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

我希望你能帮助我或告诉我实现它的新方法。

谢谢!

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

我建议您为构建过程的每个部分使用一个配置和一个阶段。然后您可以使用阶段 Skip Conditions, stage Promote Conditions or If and Else actions to select which stages or actions are run based on the values of variables and expressions.

我假设 DailyBuild 将由 Time Trigger, and the Patch and Release builds would either be started manually or by a Repository Trigger. Maybe the Patch build is triggered by particular repository branch or tag and the Release build is triggered by another. The conditions in the configuration stages could either test the value of the branch or tag e.g. $Source.RepoName.Branch$ Equals 'Release' or $Source.RepoName.LatestTagName$ StartsWith 'Patch', or test the value of a variable. The variable could either be set manually in the Queue Options dialog when running the build or by a trigger as specified in the Variables tab of Edit Trigger 对话框启动。

在您的发布配置有 "Config 1 + Config 2 + DailyBuild Config" 的情况下,我会将其更改为 "Stage 1 + Stage 2 + DailyBuild Stage"。 Stage 1 和 Stage 2 将分别让 Skip Condition 检查由 DailyBuild 触发器设置的变量,例如%TriggeredBy% 等于 'DailyBuild' 或 $Build.StartedBy$ 表达式的值,例如$Build.StartedBy$ 等于 'DailyBuildTrigger'。这意味着如果构建不是由 DailyBuildTrigger 启动的,阶段 1 和阶段 2 只会 运行。

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