为 Jenkins 创建服务挂钩

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

本文介绍如何为 Azure DevOps 项目设置服务挂钩以触发 Jenkins 生成。 如果使用 Jenkins 生成应用,则可以将代码存储在 Git 存储库中,并使用 Jenkins 进行持续集成生成。 将代码推送到 Git 存储库或签入代码到 Team Foundation 版本控制 (TFVC) 存储库时,可以触发 Jenkins 生成。

可以在 Azure Pipelines 和 Jenkins 中生成应用的一部分。 完成 Azure Pipelines 生成后,可以触发 Jenkins 生成,以便使用这两个系统生成应用。

Azure DevOps 不收取设置服务挂钩或与外部服务集成的费用,Jenkins 是完全开放源代码且可供免费使用。

先决条件

类别 要求
权限 - 项目集合管理员组的成员。 组织所有者自动是此组的成员。
- 编辑订阅查看订阅权限设置为允许。 默认情况下,只有项目管理员具有这些权限。 若要向其他用户授予权限,可以使用命令行工具或 安全 REST API。
工具 Jenkins 服务器。 如果在本地设置 Jenkins, 请启用 HTTPS在jenkins.xml配置文件中,通过在标记中添加或更新以下行,在参数之前disabled将hudson.plugins.git.GitStatus.NOTIFY_COMMIT_ACCESS_CONTROL系统属性<arguments>-jar

-Dhudson.plugins.git.GitStatus.NOTIFY_COMMIT_ACCESS_CONTROL=disabled

创建 Jenkins 服务挂钩

执行以下步骤以创建 Jenkins 服务挂钩。

设置 Jenkins 版本

  1. 在 Jenkins 中,创建新项。

    显示 Jenkins 中的“新建项”链接的屏幕截图。

  2. 选择适合项目的生成类型。

    显示 Jenkins 中的“生成名称和类型”的屏幕截图。

  3. 输入 Git 存储库的 URL。

    显示 Jenkins 中源代码管理设置的屏幕截图,其中选择了 Git。

设置 Jenkins 服务挂钩

  1. 在 Azure DevOps 项目中,转到 Project 设置>

    项目设置中服务挂钩选项的屏幕截图。

  2. “服务挂钩 ”页上,选择 + 图标或 “创建订阅”。

    在“服务挂钩”页上选择“创建订阅”的屏幕截图。

  3. “服务 ”屏幕上,选择 Jenkins,然后选择“ 下一步”。

    在“服务”页上选择 Jenkins 的屏幕截图。

  4. “触发器 ”屏幕上,选择要触发 Jenkins 生成的 Azure DevOps 事件,然后选择“ 下一步”。

    选择和配置触发器事件的屏幕截图。

  5. “操作”屏幕上,将 Jenkins 操作 配置为在事件发生时执行。

  6. 选择“ 测试 ”以测试服务挂钩,然后 完成 配置。

现在,当事件在 Git 存储库中发生时,它会触发 Jenkins 生成。

提示

还可以使用 REST API 以编程方式创建服务挂钩订阅。 有关详细信息,请参阅 以编程方式创建服务挂钩订阅。