1

我为 GitHub 存储库中的 .net 应用程序创建了一个经典的 CI azure 管道,并在触发器中启用了持续集成,还在分支过滤器中添加了 2 个分支。但是当我的团队成员进行一些更改并提交时,我的管道没有触发并且没有创建构建。我不明白可能是什么问题,因为我是天蓝色管道的新手

4

2 回答 2

2

以下是一些故障排除建议,您可以单击此文档获取更多详细信息:

  1. 您是否使用 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 时选择正确的组织。

  1. 您是否使用 OAuth 或 PAT 将管道连接到 GitHub?如果您使用的是 GitHub 连接,请执行以下步骤:

OAuth 和 PAT 连接依靠 webhook 将更新传送到 Azure Pipelines。在 GitHub 中,导航到存储库的设置,然后导航到 Webhook。验证 webhook 是否存在。通常你应该看到三个 webhook——push、pull_request 和 issue_comment。如果不这样做,则必须重新创建服务连接并更新管道以使用新的服务连接。

选择 GitHub 中的每个 webhook,并验证与用户提交对应的有效负载是否存在并已成功发送到 Azure DevOps。如果无法将事件传达给 Azure DevOps,您可能会在此处看到错误。

  1. 您的管道是否已暂停或禁用?打开管道的编辑器,然后选择要检查的设置。如果您的管道被暂停或禁用,则触发器不起作用。

  2. 您是否在定义触发器或路径时使用了变量?这是不支持的。

  3. 您是否排除了将更改推送到的分支或路径?通过将更改推送到包含分支中的包含路径进行测试。请注意,触发器中的路径区分大小写。在触发器中指定路径时,请确保使用与实际文件夹相同的大小写。

更新:

你不需要在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 组织。如果您连接到多个组织,请保留您当前使用的唯一一个。

于 2021-02-09T09:54:02.890 回答
1

在 DevOps 中单击左侧导航中的 Pipelines

选择您的管道。

单击编辑

然后在新的窗口窗格(左上角)中,您将看到触发器选项卡。

在这里您可以配置持续集成设置以触发推送/拉取请求等的构建。

这是一个例子在此处输入图像描述

为开发分支启用了继续集成,因此对该分支的任何推送都将触发构建。

于 2021-02-08T09:51:09.770 回答