有条件地添加绑定到Octopus Deploy

时间:2017-02-21 10:43:35

标签: deployment octopus-deploy

我试图有条件地添加绑定。

如果变量存在,我希望添加绑定。

例如说存在foo, "hello I'm foo", Production,但foo不存在此类beta vairable,则绑定将通过非beta版添加到Production。

我认为我的表达应该是这样的:

#{if foo } True #{if}

我从here提出的问题中得到了这个想法。

我在使基本表达式工作时遇到了麻烦:

#{if 1 == 1} True #{if}

Add binding

上述绑定失败,错误

  

" String未被识别为有效的布尔值。"

如何解决此问题?

1 个答案:

答案 0 :(得分:2)

啊哈 - 在您第一次尝试时看起来像一个小的语法错误:

#{if foo}True#{/if}

你错过了关闭表达式的斜杠!

如果步骤需要,您可以将此值扩展为False的值:

#{if foo}True#{/if}#{unless foo}False#{/unless}

文档:https://octopus.com/docs/reference/variable-substitution-syntax#VariableSubstitutionSyntax-Conditionalsconditionals

值得注意的是,这正是变量范围所针对的......所以为什么不为foo创建一个未编码的变量,其值为False。然后你可以有第二个"副本"仅在“生产”范围内,foo的值为True

这意味着您的流程步骤只需#{foo}作为值。

P.S。最近修复的表达式语法中有一个错误(v 3.8.3),你可能感觉到了以下的痛苦:

发行说明:https://octopus.com/downloads/compare?from=3.7.18&to=3.8.3

具体问题:https://github.com/OctopusDeploy/Issues/issues/3089