【问题标题】:Azure Pipelines - re-run failed stage using latest commit in multi-stage pipelineAzure Pipelines - 使用多阶段管道中的最新提交重新运行失败的阶段
【发布时间】:2022-01-13 18:26:14
【问题描述】:
我有一个多阶段管道,在成功部署到 QA 环境后,将运行 API 测试和 E2E 测试(它们都在单独的存储库中)。
E2E 测试中的一个错误导致它们失败,因此我们修复了它,合并了更改并重新运行 E2E 阶段。问题是重新运行运行以前的提交(修复之前)。我们知道运行最新提交的 E2E 测试的唯一方法是再次运行所有管道,但由于先前阶段的持续时间长,这会花费太多时间。
是否有可能在不运行整个多阶段管道的情况下重新运行最新提交?
【问题讨论】:
标签:
azure-devops
azure-pipelines
【解决方案1】:
是否有可能在不运行整个多阶段管道的情况下重新运行最新提交?
不。管道运行锚定在您在启动管道时选择的提交上。无论您重新启动它(或它的各个阶段)多少次,它都使用相同的提交。
//编辑:实际上,根据您的管道逻辑,您可以运行仅包含选定阶段的新管道:
【解决方案2】:
通过在开头添加git pull origin master 步骤解决了问题。
- ${{ if ne(parameters.checkoutRepository, 'self') }}:
- script: git pull origin master
displayName: Update repository