我为 GitHub 存储库中的 .net 应用程序创建了一个经典的 CI azure 管道,并在触发器中启用了持续集成,还在分支过滤器中添加了 2 个分支。但是当我的团队成员进行一些更改并提交时,我的管道没有触发并且没有创建构建。我不明白可能是什么问题,因为我是天蓝色管道的新手
2 回答
以下是一些故障排除建议,您可以单击此文档获取更多详细信息:
- 您是否使用 GitHub 应用程序连接将管道连接到 GitHub?如果您使用的是 GitHub 应用程序连接,请执行以下步骤:
GitHub 和 Azure DevOps 之间的映射是否设置正确?在您的 GitHub 存储库中打开一个拉取请求,并在 /azp where 中添加注释。这会报告存储库映射到的 Azure DevOps 组织。
如果没有设置组织使用该应用程序构建此存储库,请转到
https://github.com/<org_name>/<repo_name>/settings/installations
并完成应用程序的配置。如果报告了不同的 Azure DevOps 组织,则表明有人已经在不同的组织中为此存储库建立了管道。我们目前的限制是我们只能将 GitHub 存储库映射到单个 DevOps 组织。只有第一个 Azure DevOps 组织中的管道可以自动触发。要更改映射,请从 GitHub 组织中卸载应用程序,然后重新安装。重新安装它时,请确保在重定向到 Azure DevOps 时选择正确的组织。
- 您是否使用 OAuth 或 PAT 将管道连接到 GitHub?如果您使用的是 GitHub 连接,请执行以下步骤:
OAuth 和 PAT 连接依靠 webhook 将更新传送到 Azure Pipelines。在 GitHub 中,导航到存储库的设置,然后导航到 Webhook。验证 webhook 是否存在。通常你应该看到三个 webhook——push、pull_request 和 issue_comment。如果不这样做,则必须重新创建服务连接并更新管道以使用新的服务连接。
选择 GitHub 中的每个 webhook,并验证与用户提交对应的有效负载是否存在并已成功发送到 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 组织。如果您连接到多个组织,请保留您当前使用的唯一一个。