使用 Jenkins 为 Azure DevOps 创建服务挂钩

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

如果使用 Jenkins 生成应用,则可以将代码存储在 Azure DevOps 中,并继续使用 Jenkins 进行持续集成生成。 将代码推送到项目的 Git 存储库时,或者将代码检查到 Team Foundation 版本控制时,可以触发 Jenkins 生成。

重要

自 2020 年 3 月 2 日开始,Azure DevOps 不再支持备用凭据身份验证。 如果你仍在使用备用凭据,我们强烈建议你切换到更安全的身份验证方法, (例如个人访问令牌) 。 了解详细信息

配置 Jenkins

  1. 设置 Jenkins 服务器(如果尚未这样做)。

  2. 如果要在本地设置 Jenkins,请 启用 HTTPS

  3. 在配置文件的 标记内<arguments>添加或更改hudson.plugins.git.GitStatus.NOTIFY_COMMIT_ACCESS_CONTROL -jar 参数之前禁用 的系统属性jenkins.xml

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

设置 Jenkins 版本

  1. 在 Jenkins 中,创建新项。

    Jenkins 中的“新建项目”链接
  2. 创建适合你的项目的生成类型。

    Jenkins 中的生成名称和类型
  3. 在 Azure DevOps Services 中设置 Git 存储库的 URL。 URL 的格式 https://dev.azure.com/{orgName}/DefaultCollection/_git/{projectName}为 。

    选择了“Git”的源代码管理设置

触发 Jenkins

  1. 转到项目“服务挂钩”页:

    https://{orgName}/{project_name}/_settings/serviceHooks

    “项目管理”页的屏幕截图,Azure DevOps Server 2019 年及之后。

    选择“创建订阅”。

  2. 添加 Jenkins。

    “选择目标服务”对话框,已选择 Jenkins
  3. 从要触发 Jenkins 生成的Azure DevOps Services中选取事件。

    “配置事件”对话框
  4. 配置在 Jenkins 中执行的操作。

    “新建服务挂钩订阅”对话框

现在,当Azure DevOps Services中发生该事件时,将触发 Jenkins 生成。

定价

Azure DevOps Services不收取与外部服务集成的框架费用。 查看特定服务的网站,了解与其服务相关的定价。

问题解答

问:是否可以在 Azure DevOps Services 和 Jenkins 中构建应用的一部分?

A:是的。 可以在Azure DevOps Services生成完成后触发 Jenkins 生成,以便使用这两个系统来生成应用。

问:是否可以以编程方式创建订阅?

答:可以,请使用 REST API