仅在Octopus部署

时间:2018-06-04 21:52:21

标签: octopus-deploy

我想知道是否有办法从一个版本开始在八达通中运行某些步骤。

我认为这可以通过定义不同的渠道和一些“版本规则”来实现,但我认为必须有一种方法可以通过"运行条件"来实现。在这一步。

我看到here您可以比较Octopus上的版本。

我想在我的"运行条件":

中定义类似的内容
#{if Octopus.Release.Number > 2.3.15}True{/if}

但我不知道如何写这个条件。如果你能帮助我,请告诉我。

这是必要的,因为有时我们会向现有部署添加新软件包(+步骤),但旧版本的部署仍在创建。

提前致谢。

2 个答案:

答案 0 :(得分:1)

Octostache表达式不允许这样的逻辑,但您可以将该计算放入脚本步骤outputs一个Octostache可以评估的布尔变量。

答案 1 :(得分:1)

基于benPearce answer我解决了我的情况:

在名为"检查版本"的PowerShell步骤中;我写道:

$IsOver2315 = $OctopusParameters["Octopus.Release.Number"] -gt [version]"2.3.15"
Set-OctopusVariable -name "IsOver2315" -value (&{If($IsOver2315) {"True"} Else {"False"}})

并且在" Run Condition"我写道:

#{Octopus.Action[Check version].Output.IsOver2315}

感谢benPearce