为 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 是完全开放源代码且可供免费使用。
创建 Jenkins 服务挂钩
若要管理服务挂钩 Azure DevOps 组织或项目,必须在组织中具有 “所有者 ”或 “项目集合管理员” 角色。
配置 Jenkins
如果没有,请设置 Jenkins 服务器。
如果在本地设置 Jenkins, 请启用 HTTPS。
在jenkins.xml配置文件中,通过在标记中添加
<arguments>
或更新以下行,在参数之前-jar
将hudson.plugins.git.GitStatus.NOTIFY_COMMIT_ACCESS_CONTROL系统属性设置为disabled
:-Dhudson.plugins.git.GitStatus.NOTIFY_COMMIT_ACCESS_CONTROL=disabled
。
设置 Jenkins 版本
在 Jenkins 中,创建新项。
选择适合项目的生成类型。
输入 Git 存储库的 URL。
设置 Jenkins 服务挂钩
在 Azure DevOps 项目中,转到 Project 设置>服务挂钩。
https://<organization-name>/<project-name>/_settings/serviceHooks
在 “服务挂钩 ”页上,选择 + 图标或 “创建订阅”。
在 “服务 ”屏幕上,选择 Jenkins,然后选择“ 下一步”。
在 “触发器 ”屏幕上,选择要触发 Jenkins 生成的 Azure DevOps 事件,然后选择“ 下一步”。
在 “操作”屏幕上,将 Jenkins 操作 配置为在事件发生时执行。
选择“ 测试 ”以测试服务挂钩,然后 完成 配置。
现在,当事件在 Git 存储库中发生时,它会触发 Jenkins 生成。
提示
还可以使用 REST API 以编程方式创建服务挂钩订阅。 有关详细信息,请参阅 以编程方式创建服务挂钩订阅。