2016-07-26 475 views
13

Jenkins CLI提供的功能来导出&进口单一的工作,例如:如何导出/导入Jenkins配置?

java -jar jenkins-cli.jar -s http://foo-jenkins.tld:8080 get-job myjob > myjob.xml 
java -jar jenkins-cli.jar -s http://bar-jenkins.tld:8080 create-job newmyjob < myjob.xml 

是否也可以/如何备份&恢复CONFIGS?


我指的是整个设置:

  • 系统配置,
  • 全球安全配置,
  • 凭据,
  • 全球工具配置,
  • 的插件配置(“HTTP代理配置”和安装插件列表)
  • 节点
  • 用户
  • 被遗漏什么吗?

整个设置一次或甚至可以作为单个备份/恢复过程,例如, MozBackup以其 “组件选择”

MozBackup - Components selection

或蚀以其 “导出首选项” 对话框

eclipse - Export Preferences

回答

12

有没有简单的方法来配置的备份/导出选定部分,因为詹金斯配置数据分散

  • 几个文件(全球​​3210,很多具体的插件,文件)
  • 几个子目录(凭证,节点)和
  • 某些文件被加密(凭证),因此您还必须备份加密密钥

最干净的解决方法是将备份整个$JENKINS_HOME,并排除那些你做件想备份(例如,排除jobs/*/builds)的一部分。因此,您最终还可以获得合理的备份大小。

这样的备份必须在文件系统级别完成,因为没有API可以访问所有这些文件/数据。

不要依靠thinBackup,因为您依赖插件维护人员不会错过任何重要的东西。例如,当前的thinBackup版本1.7.4不会备份詹金斯的密钥,所以不可能从头开始恢复凭证。