通过Artifactory更新Jenkins插件

时间:2018-10-19 04:54:59

标签: jenkins artifactory

我想通过Artifactory更新Jenkins插件。

  1. 创建一个名为Jenkins-update的远程仓库
  2. 创建一个名为jenkins-update-center的本地存储库
  3. 从repo Jenkins-update获取update-center.json到本地,然后在update-center.json中将URL从'http://updates.jenkins-ci.org/'修改为我自己的URL'https://artifacts.xxx.com/artifactory/Jenkins-update/',然后将update-center.json放入本地存储库。

    #!/bin/sh
    curl -L -o /tmp/update-center.json http://localhost:8081/artifactory/Jenkins-update-cache/update-center.json
    sed -i 's#http://updates.jenkins-ci.org/#https://artifacts.xxx.com/artifactory/Jenkins-update/#g' /tmp/update-center.json
    curl -L -uuser:pass -T /tmp/update-center.json "http://localhost:8081/artifactory/jenkins-update-center/update-center.json"
    
  4. 在詹金斯(Jenkins)中将默认更新站点从'http://updates.jenkins-ci.org/'更改为'https://artifacts.xxx.com/artifactory/jenkins-update-center/update-center.json'

有一个错误'SHA-512摘要不匹配:预期= 49a22dc23f739a76623d10128b6803f79e0489de3ded0f1d01f3dfba4557136c7f318baaf4749a7713ec4b3f56633f2ac3afc4703e87d423ede029d68f84c74d在''更新中'

我该怎么做才能从Artifactory中制作Jenkins更新插件?

Tkx

1 个答案:

答案 0 :(得分:0)

一旦update-center.json的内容更改,您需要重新生成此文件的“签名”部分。 为此,您需要生成密钥对(请参见How to create a local mirror of public Jenkins update site?中的更多详细信息)

您还可以使用以下建议的方法:

  

通过在可以访问Internet的系统上安装一个沙箱Jenkins,可能是一种更好的方法。您可以使用UI更新服务器,然后可以彻底测试该更新的Jenkins。完成后,您只需要将war和hpi文件复制到“生产” Jenkins。现在您甚至有了一个很好的流程并进行了质量检查。

另一种方法是在Jenkins和Artifactory服务器之间设置透明的https代理-在这种情况下,update-center.json不会更改,并且签名验证应该可以正常工作。

最诚挚的问候,

Dmytro Gorbunov