azure - 如何在 Azure DevOps/GitHub 中设置 PR 验证?

标签 azure github azure-devops yaml azure-pipelines

我们正在从 Azure DevOps 迁移到 GitHub,并且我们设置了构建验证,如果您在特定文件夹中进行更改,相应的 CI 管道将在创建 PR 时运行。

我正在尝试利用 PR triggers在我的 YAML 文件中,但是当我打开 PR 时它似乎不起作用。

我的管道是:

trigger: none

pr:
  branches:
    include:
      - develop
      - release/*
      - ProductionSupport/*
  paths:
    include:
      - cicd/pipelines/common/pre-commit-ci.yaml
      - src
      - cicd

pool:
  vmImage: ubuntu-latest

variables:
  PRE_COMMIT_HOME: $(Pipeline.Workspace)/pre-commit-cache

steps:
  - bash: echo "##vso[task.setvariable variable=PY]`python -V`"
    displayName: Get python version
  - task: Cache@2
    inputs:
      key: pre-commit | .pre-commit-config.yaml | "$(PY)"
      path: $(PRE_COMMIT_HOME)

  - bash: |
      pip install --quiet pre-commit
      pre-commit run
    displayName: 'Run pre-commit'

作为确保我的分支/路径正确的测试,我将触发器部分更新为:

trigger:
  branches:
    include:
      - develop
      - release/*
      - ProductionSupport/*
  paths:
    include:
      - cicd/pipelines/common/pre-commit-ci.yaml
      - src
      - cicd

然后,当我对这些文件夹中的其中一个文件进行更改时,管道被成功触发。我是否错误地指定了 PR 验证?

最佳答案

您的 yml 定义似乎是正确的。

既然您提到 CI 触发器工作正常,并且您提到我们正在从 Azure DevOps 迁移到 GitHub

这给我带来了一个想法,即一种情况准确地再现了您所经历的情况,但您可能没有想到:

PR Trigger Override

例如,如果您的管道与以前的管道相同(只需更改管道源),并且您没有删除以前的构建验证(或者以前的管道名称与当前的管道名称相同) ),那么 github yml 文件中的 pr 部分将被覆盖,只有 DevOps 端的构建验证才会起作用。

我建议您调查是否对管道有一些构建验证设置(如果您的项目结构很复杂,这可能很难找到),或者您可以简单地使用新的 YAML 文件创建一个全新的管道。

关于azure - 如何在 Azure DevOps/GitHub 中设置 PR 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73803327/

相关文章:

C#/WCF 传入参数一个文件路径

c# - 部署到多个 Azure 环境(开发、测试、生产)的推荐方法是什么?

ruby-on-rails - Mac 终端重新启动后无法运行大多数命令

PHP 编译器 require 命令以及存储库详细信息

azure-devops - Azure DevOps 拉取请求禁止操纵所需的审阅者

angular - 缩短 Azure Devops 中 Angular 8 应用程序的生产构建时间

azure-devops - 如何设置 Azure DevOps Repo 只读访问

azure - 如何使用 ARM 或 Azure CLI 将现有虚拟网络连接到开发测试实验室?

javascript - 如何查找 NodeJS 上是否存在 Azure 文件

git - 我的主分支在另一个分支下面。这可能是个问题吗?