问题描述
我为 GitHub 存储库中的 .net 应用程序创建了一个经典的 CI azure 管道,并在触发器中启用了持续集成,还在分支过滤器中添加了 2 个分支。但是当我的团队成员进行了一些更改并提交时,我的管道没有触发,也没有创建构建。我不知道可能是什么问题,因为我是天蓝色管道的新手
解决方法
以下是一些故障排除建议,您可以点击 this document 了解更多详细信息:
- 您是否使用 GitHub 应用程序连接将管道连接到 GitHub?如果您使用的是 GitHub 应用程序连接,请按照以下步骤操作:
GitHub 和 Azure DevOps 之间的映射设置是否正确?打开一个 在您的 GitHub 存储库中拉取请求,并发表评论 /azp 在哪里。这向 Azure DevOps 组织报告了 存储库被映射到。
如果没有设置组织来使用该应用程序构建此存储库,
去
https://github.com/<org_name>/<repo_name>/settings/installations
和
完成应用的配置。
如果报告了不同的 Azure DevOps 组织,则有人 已经为这个 repo 建立了一个不同的管道 组织。我们目前的限制是我们只能映射一个 GitHub 存储库到单个 DevOps 组织。只有第一个管道 Azure DevOps 组织可以自动触发。要更改 映射,从 GitHub 组织卸载应用程序,以及 重新安装它。重新安装时,请确保选择正确的 重定向到 Azure DevOps 时的组织。
- 您是使用 OAuth 还是 PAT 将管道连接到 GitHub?如果您使用的是 GitHub 连接,请按照以下步骤操作:
OAuth 和 PAT 连接依赖于网络钩子将更新传达给 Azure 管道。在 GitHub 中,导航到您的设置 存储库,然后到 Webhook。验证 Webhook 是否存在。通常 您应该会看到三个 webhooks - push、pull_request 和 issue_comment。 如果不这样做,则必须重新创建服务连接并 更新管道以使用新的服务连接。
选择 GitHub 中的每个 webhooks 并验证有效负载 对应用户的提交存在并成功发送到 Azure DevOps。如果事件不能,您可能会在此处看到错误 传达给 Azure DevOps。
-
您的管道是暂停还是禁用?打开管道的编辑器,然后选择设置进行检查。如果您的管道是 暂停或禁用,则触发器不起作用。
-
您是否在定义触发器或路径时使用了变量?不支持。
-
您是否排除了将更改推送到的分支或路径?通过将更改推送到包含路径中的包含路径来进行测试 分支。请注意,触发器中的路径区分大小写。确保 您在指定文件夹时使用与真实文件夹相同的案例 触发器中的路径。
更新:
github 中的 webhooks 无需更改,只需到 github Settings -> Webhooks 查看是否有“Recent Deliveries”即可。如果最近交付有错误,会指出问题的原因。
如果Azure DevOps和GitHub连接正确,GitHub会自动生成Webhooks。如下图:
“Payload URL”的内容是:
https://dev.azure.com/{organization}/_apis/public/hooks/externalEvents?publisherId=github&channelId={channelId}&api-version=6.1-preview
请注意,一个 GitHub 存储库只能连接到一个 Azure DevOps 组织。如果您已连接到多个组织,请保留您当前使用的唯一一个。
,在 DevOps 中点击左侧导航栏中的 Pipelines
选择您的管道。
点击编辑
然后在新的窗口窗格(左上角)中,您将看到一个触发器选项卡。
您可以在此处配置持续集成设置以触发推送/拉取请求等的构建。
为开发分支启用了持续集成,因此对该分支的任何推送都将触发构建。