【问题标题】:Add a binding conditionally To Octopus Deploy有条件地添加绑定到 Octopus Deploy
【发布时间】:2017-02-21 10:43:35
【问题描述】:

我正在尝试有条件地添加绑定。

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

例如说存在foo, "hello I'm foo", Production,但不存在beta 这样的foo 变量,那么绑定将通过非测试版添加到生产中。

我想我的表达应该是这样的:

#{if foo } True #{if}

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

但是,我在使基本表达式起作用时遇到了麻烦:

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

上面的绑定失败并出现错误

“字符串未被识别为有效的布尔值。”

如何解决这个问题?

【问题讨论】:

标签: deployment octopus-deploy


【解决方案1】:

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

#{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} 作为值。


附:最近修复的表达式语法中存在一个错误(v 3.8.3),您可能已经感受到了痛苦:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-28
    • 2014-04-10
    相关资源
    最近更新 更多