Jenkins插件目录备份和恢复

Jenkins插件目录备份和恢复,jenkins,Jenkins,我正试图找到一种备份和恢复jenkins的方法,这样我们就可以自动提供一个新的jenkins 如果不包含二进制文件,我无法找到备份+恢复/path/to/jenkins/plugins的方法。我们希望备份是xml文件格式,就像jenkins中的其他所有内容一样。我的假设是,我们可以以某种方式备份xml文件,如果插件二进制文件丢失,jenkins可以恢复它们,因为它可以访问maven 我宁愿避免使用配置管理工具来安装插件,因为我必须以一种感觉过于受控的方式来管理插件的版本。我很高兴只备份任何存在的

我正试图找到一种备份和恢复jenkins的方法,这样我们就可以自动提供一个新的jenkins

如果不包含二进制文件,我无法找到备份+恢复/path/to/jenkins/plugins的方法。我们希望备份是xml文件格式,就像jenkins中的其他所有内容一样。我的假设是,我们可以以某种方式备份xml文件,如果插件二进制文件丢失,jenkins可以恢复它们,因为它可以访问maven

我宁愿避免使用配置管理工具来安装插件,因为我必须以一种感觉过于受控的方式来管理插件的版本。我很高兴只备份任何存在的内容,并在需要时将其恢复到其他地方。开发者应该可以自由安装插件,而不需要我或傀儡

由于“plugin”在许多其他上下文中都有使用,所以很难用谷歌搜索这个问题

下面的链接说它也管理插件,但我看不出这是怎么回事——也许我遗漏了什么

我已经移植了使用git的想法,它通常是有效的,除了插件不会在新机器上神奇地重新出现——只有默认插件会回来


有人建议吗?

如果您不想备份插件二进制文件,可以使用Jenkins REST API获取当前插件列表:

http://jenkins:8080/pluginManager/api/json?tree=plugins[shortName,version]&pretty=true

(您可以使用
tree=plugins[*]
查看API中更完整的字段列表。)

将此数据保存为配置备份的一部分,并在部署时使用Jenkins API恢复插件


在pluginManager API页面上还有其他文档以及如何更新插件:
http://jenkins:8080/pluginManager/api

到目前为止,我想到的最好办法是将实例拆分为一个OS磁盘和一个安装在/var/lib/Jenkins上的Jenkins磁盘。使用云提供商的快照功能定期备份jenkins磁盘。Jenkins适用于许多组织,我相信,它永远是一个需要培育的“雪花”服务器或宠物,除了用于维护操作系统的功能外,自动化不会带来太多好处。

要备份Jenkins组件,您可以使用。最佳做法是在差异或混合(完全/差异)模式下至少设置每日备份。在使用任何插件之前,这是一个优势,因为可以保证备份的规律性。

将配置备份保存在subversion中”脚本处理插件配置(通常是Jenkins主目录中的XML文件),而不是插件本身。有人用过grunt Jenkins吗?这看起来很有希望。具体来说,它可以“从管道目录/plugins.json安装插件”,我最终将其rsync'ing到一个安装了s3fs的S3bucket。我在桶上设置了版本历史记录。我对实现s3fs犹豫不决,但它工作得出奇地好。我有一个排除列表,所以我们不需要rsync zips、wars等。出于某种原因,我不得不从命令行中避开方括号:
curl”http://localhost:8080/pluginManager/api/json?pretty=true&tree=plugins\[短名称,版本\]
YMMV:
wget
现在还可以。建议不错,但从磁盘或磁带恢复不是最快的选择,如果您确实想确保构建/部署能够及时运行,请使用jenkins api在某处创建其他备份。。。成本很低,而且在灾难场景中,例如,如果您将jenkins托管在一台服务器上,而该服务器被“取消配置”,并且备份被终止(因为为什么不对?),而不通知您,这将在部署单击或花费数天/周末手动做所有事情之间产生差异。您是否可以进一步解释这与(2年前)使用全磁盘快照的公认答案相比有何优势?虽然此链接可以回答这个问题,最好在这里包括答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能会无效。仅Windows支持方便备份。您的答案可能更一般,大致是“使用您首选的备份/恢复软件进行增量和/或差异备份”。