【问题标题】:Azure DevOps Deploy Release step on FailureAzure DevOps 部署失败时的发布步骤
【发布时间】:2021-06-15 01:31:45
【问题描述】:

我们在 azure devops 中发布的结构是

将我们的应用部署到我们的 DEV 环境。 针对该环境启动我的 Selenium (Visual Studio) 测试。 如果通过,则移动到我们的 TEST 环境。 如果失败/硬停止。 我们想添加新的片断/功能,启动与上面相同,除了而不是硬停止。 5)如果默认步骤失败,继续下一步。 6) 新的细节测试开始(开启录屏)

新的详细步骤具有“代理作业”设置/参数,我将“运行此作业”部分设置为“仅当上一个作业失败时”。

我的结果是,如果先前/默认/基本测试通过,则跳过详细步骤。正如预期的那样。

但如果上一步失败....下面新的详细步骤不会启动。

是否有可能因为设置了步骤,如果它失败硬停止甚至不评估下一步?

还是因为上一步说“部分成功”。这基本上不被视为失败吗?

【问题讨论】:

    标签: azure-devops


    【解决方案1】:

    是的,这是正确的。因为失败等同于eq(variables['Agent.JobStatus'], 'Failed') 状态。但部分成功的是eq(variables['Agent.JobStatus'], 'SucceededWithIssues')

    请查看here

    您可以尝试自定义条件,例如:

    in(variables['Agent.JobStatus'], 'Failed', 'SucceededWithIssues')
    

    【讨论】:

    • 我想知道那些自定义条件。我不知道它与 OAuth 设置有什么关系。非常感谢您的帮助。
    • 我假设 Agent.JobStatus 已经存在并且不需要定义?我对么?还是我必须为此添加一些东西,因为它仍然没有开始,它仍然说它正在等待前一个完成。
    • @GregP 我假设您现在拥有完整的解决方案。我说的对吗?
    • 其实我没有,很接近。我发现状态是针对当前代理/任务的。我想要上一步的状态。所有示例都在 YAML 中......但我没有看到发布任务的 yaml 选项。所以想知道如何从上一个任务中设置一个变量,以供下一个任务使用。任何方向都会有所帮助。
    【解决方案2】:

    作为解决方案的补充,我错过了“详细”工作,“即使所选阶段部分成功也触发”,也需要检查,以及上述相同步骤的解决方案.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-05
      • 1970-01-01
      • 2019-11-18
      • 1970-01-01
      相关资源
      最近更新 更多