【问题标题】:Azure Devops Pull Request and Jenkins behind corporate network企业网络背后的 Azure Devops Pull Request 和 Jenkins
【发布时间】:2019-02-21 15:28:42
【问题描述】:

我试图弄清楚如何将我的 Jenkins Build 服务器连接到 Azure DevOps 拉取请求。我的 Jenkins 服务器位于企业防火墙后面,我无法在企业网络之外访问此服务器。

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

我尝试在我的 Linux Jenkins 服务器上成功运行 VSTS 代理。它有效,但它没有做我需要做的事情。我不想改变我所有的构建过程来在这个代理中构建我的应用程序。我真的希望能够从我的服务器启动 Jenkins Pipeline 构建并将构建结果转发到 Azure DevOps。

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

换句话说:

1- 我无法使用 VSTS 代理,因为我需要使用我的 Jenkins 构建服务器

2- 我无法使用 Azure DevOps 提供的 Jenkins VM,因为我需要访问真正的 Hardware Unite

3- 我认为我无法检测我的 Jenkins 以查看我们是否有新的 Pull Request 分支,因为我无法将 Jenkins 构建结果发送到 Microsoft Azure DevOps 服务器。

有人必须这样做吗?

有什么推荐的读物吗?

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • Daniel,您能详细说明第 1 点吗?我正在使用一个多分支插件,由 webhook 触发,但它单独构建源分支和主分支,而不是合并结果,这是人们真正需要看到的。 (我意识到合并尚未发生,但审阅者需要知道它会在合并时构建和测试。)是否有不同的 Jenkins 插件可以做到这一点?
    猜你喜欢
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 2015-11-18
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    相关资源
    最近更新 更多