Continua CI:如何重新使用配置? (DailyBuild +发布)

时间:2018-10-11 09:55:30

标签: continuous-integration finalbuilder

我遇到以下问题,很遗憾,互联网上没有发现任何问题。

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

现在将创建Continua CI版本。 基本上,实际的构建过程将与DailyBuild相同,只是必须先启动其他配置。

这可能吗?

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

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

您在BuildServer上进行DailyBuild,Patch和Release的结构是什么?

希望您能对我有所帮助或向我展示实现该目标的新方法。

谢谢!

1 个答案:

答案 0 :(得分:1)

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

我建议您在构建过程的每个部分使用一个带有阶段的单一配置。然后,您可以使用阶段Skip Conditions,阶段Promote ConditionsIf and Else的操作来基于variables and expressions的值选择运行哪些阶段或操作。

我假设DailyBuild将由Time Trigger开始,而Patch和Release构建将由手动或Repository Trigger开始。补丁构建可能是由特定的存储库分支或标记触发的,而发布版本是由另一个触发。配置阶段的条件可以测试分支或标签的值,例如$ Source.RepoName.Branch $等于'Release'或$ Source.RepoName.LatestTagName $ StartsWith'Patch',或测试变量的值。可以在运行构建时在Queue Options对话框中手动设置变量,也可以通过Edit Trigger对话框的Variables选项卡中指定的触发器来设置变量。

在您的版本配置为“ Config 1 + Config 2 + DailyBuild Config”的情况下,我将其更改为“ Stage 1 + Stage 2 + DailyBuild Stage”。第1阶段和第2阶段将分别具有“跳过条件”检查由DailyBuild触发器设置的变量,例如%TriggeredBy%等于'DailyBuild'或$ Build.StartedBy $表达式的值,例如$ Build.StartedBy $等于“ DailyBuildTrigger”。这意味着只有在DailyBuildTrigger未启动构建的情况下,阶段1和阶段2才会运行。

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