企业网络背后的Azure Devops Pull Request和Jenkins

时间:2019-02-21 15:28:43

标签: azure-devops jenkins-pipeline jenkins-plugins

我试图弄清楚如何将Jenkins Build服务器连接到Azure DevOps Pull Request。我的Jenkins服务器位于公司防火墙后面,我无法访问公司网络外部的该服务器。

由于公司网络规则的原因,我无法在Azure中添加一个挂钩来调用我的Jenkins服务器,但是我的服务器可以访问Microsoft Azure网站。

我试图在Linux Jenkins服务器上成功运行VSTS代理。它可以工作,但不能满足我的需要。我不想更改所有构建过程以在此Agent中构建应用程序。我真的希望能够从服务器启动Jenkins Pipeline构建并将构建结果转发到Azure DevOps。

我无法使用Azure DevOps提供的Jenkins VM,因为我的Jenkins生成过程必须在我们的实验室的真实硬件单元上运行一些回归测试工具才能将生成标记为成功。

换句话说:

1-我无法使用VSTS代理,因为我需要使用Jenkins Build Server

2-我无法使用Azure DevOps提供的Jenkins VM,因为我需要访问真正的硬件单元

3-我想我无法对Jenkins进行检测,以查看是否有新的Pull Request分支,因为我无法将Jenkins生成结果发送到Microsoft Azure DeveOps服务器。

有人必须做类似的事情吗?

有什么读物建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

由于将可以进行单向通信(从Jenkins到Azure DevOps),因此您必须执行以下操作:

  • 设置您的Jenkins管道以定期轮询Azure DevOps以获得新的PR分支并构建PRs
  • approval from external services设置分支策略
  • 让Jenkins将构建状态发布回外部服务API,以便Azure DevOps知道构建是成功还是失败