我正在尝试设置 CD 以暂存我们的一个应用程序。我将其设置为执行以下操作:
- 合并到 master 导致 TFS 构建和自动部署到 devlab
- 构建步骤在 tfs 中启动 e2e 测试并针对 devlab 运行测试
- 如果 e2e 测试通过,我想将构建提升为暂存,然后我将重复这些步骤(停止自动部署到产品)
这是我遇到问题的地方:
我在 e2e 测试构建中有一个构建步骤,称为“将项目推广到章鱼”——这个构建也按预定的节奏(每晚)运行,所以我只想要最后一步(将项目推广到章鱼)如果踢的用户关闭测试是octopus-user
(这是我们给机器人起的名字)。
在此构建步骤的“自定义条件”中,我使用上面链接中提供的指南尝试了几个不同的变量。这里有 2 个示例:
and(succeeded(),equals(variables['Build.RequestedBy],'octopus-user'))
and(succeeded(), equals(variables['Build.RequestedFor'], 'octopus-user'))
如果我删除此变量,则构建成功并将构建升级为暂存,如预期的那样。当我插入变量时,我得到了不同的失败,如果它是由特定用户启动的,任何人都有关于如何设置变量启动的指导?(在这种情况下octopus-user
) - 问题可能是用户名的格式,也许它需要是电子邮件地址(尽管我已经尝试过,以及用户的 AD 凭据)。