我想通过Artifactory更新Jenkins插件。
从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"
在詹金斯(Jenkins)中将默认更新站点从'http://updates.jenkins-ci.org/'更改为'https://artifacts.xxx.com/artifactory/jenkins-update-center/update-center.json'
有一个错误'SHA-512摘要不匹配:预期= 49a22dc23f739a76623d10128b6803f79e0489de3ded0f1d01f3dfba4557136c7f318baaf4749a7713ec4b3f56633f2ac3afc4703e87d423ede029d68f84c74d在''更新中'
我该怎么做才能从Artifactory中制作Jenkins更新插件?
Tkx
答案 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