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