在防火墙后面时,Jenkins插件存储库作为代理存储库

时间:2019-02-06 06:55:32

标签: jenkins artifactory nexus

是否有一种方法或工具可以让我将jenkins plugin site设置为代理存储库,以便在Jenkins中可以从代理存储库而不是原始站点获取插件更新?

该问题特别是在无法直接访问Internet的环境中出现的。因此,在我的情况下,我有一个Nexus Repo Server可以访问互联网。 Jenkins服务器没有。所以我的方法是

  1. 设置代理存储库(假设https://nexus.intra/repository/updates.jenkins.io/https://updates.jenkins.io/的代理
  2. 配置Jenkins,以便从代理存储库中收集插件。因此,我将插件udate网站配置为https://nexus.intra/repository/updates.jenkins.io/update-center.json

这不起作用。我收到新插件的通知,但是当我尝试下载插件时,连接失败,因为在update-center.json中指向插件的指针仍然是https://updates.jenkins.io/。看到这里...

updateCenter.post(
....
,"url":"http://updates.jenkins-ci.org/download/plugins/AnchorChain/1.0/AnchorChain.hpi",
....

那么有什么想法可以实现这一目标吗?

1 个答案:

答案 0 :(得分:1)

一个好的建议是在查询hosts时修改Jenkins主机上的updates.jenkins-ci.org文件,使其指向关系主机。但是,这需要在工件回购之前使用反向代理。这仅适用于http,而不适用于https。

  1. 在Jenkins主机上,按如下所示更新hosts文件
    <artifact repo ip>   updates.jenkins.io
    
  2. 在人工仓库之前设置反向代理,以处理updates.jenkins.io到人工仓库的流量