我在 Azure DevOps 中有一个管道,其中有 CD 步骤,例如停止 IIS、部署我的代码等 我想知道如果我在构建验证中使用该管道,即使在 PR 完成之前,它也会通过管道中的那些 CD 步骤进行部署吗?我只想运行 CI 步骤。
我没有运行它,因为我不想直接部署代码。
我想知道我是否在构建验证中使用该管道,即使在 PR 完成之前,它也会通过管道中的那些 CD 步骤进行部署吗?
是的。默认情况下,如果您将管道添加到 PR 的构建验证,它将运行管道中的所有步骤(包括 CD 步骤)。
我只想运行 CI 步骤。我没有运行它,因为我不想直接部署代码。
为了满足您的要求,您可以在CD步骤中添加条件。
我们可以使用变量:Build.Reason来确定管道是否由 Pull Request Build 验证触发。
例如:
condition: ne(variables['Build.Reason'], 'PullRequest')
steps:
- task: stopIISstep
condition: ne(variables['Build.Reason'], 'PullRequest')
当 Pull Request Build 验证触发管道时,CD 步骤将被跳过。 CI 步骤将按预期运行。