如何将Jenkins作业备份到远程计算机

如何将Jenkins作业备份到远程计算机,jenkins,continuous-integration,jenkins-plugins,Jenkins,Continuous Integration,Jenkins Plugins,我想将Jenkins作业从Jenkins服务器定时备份到某个远程机器。我尝试了几个Jenkins插件,但是没有一个插件不能备份到远程机器 我使用shell脚本成功地备份了Jenkins工作区,但在这种情况下很难恢复备份 有什么建议吗?如果我可以建议一种不同的方法-如果您使用任何类型的源代码管理,最好在那里备份您的文件和配置。例如,如果您将使用git,您可以为Jenkins配置打开一个存储库 备份您的: 作业文件夹 节点文件夹 父文件夹文件(config.xml、所有插件配置等) 然后,只需每

我想将Jenkins作业从Jenkins服务器定时备份到某个远程机器。我尝试了几个Jenkins插件,但是没有一个插件不能备份到远程机器

我使用shell脚本成功地备份了Jenkins工作区,但在这种情况下很难恢复备份


有什么建议吗?

如果我可以建议一种不同的方法-如果您使用任何类型的源代码管理,最好在那里备份您的文件和配置。例如,如果您将使用git,您可以为Jenkins配置打开一个存储库

备份您的:

  • 作业文件夹
  • 节点文件夹
  • 父文件夹文件(config.xml、所有插件配置等)
然后,只需每隔12小时运行一次Jenkins的计划作业:

cd $JENKINS_HOME
git add --all
git commit -m "Automated backup commit: $BUILD_TIMESTAMP"
git push
*确保您拥有在主机上运行这些命令的正确权限

这将使您能够:

  • 为您保留备份Jenkins配置
  • 管理备份的版本
  • 查看对配置所做更改的历史记录

希望能有帮助

如果我可以建议一种不同的方法-如果您使用任何类型的源代码管理,最好在那里备份您的文件和配置。例如,如果您将使用git,您可以为Jenkins配置打开一个存储库

备份您的:

  • 作业文件夹
  • 节点文件夹
  • 父文件夹文件(config.xml、所有插件配置等)
然后,只需每隔12小时运行一次Jenkins的计划作业:

cd $JENKINS_HOME
git add --all
git commit -m "Automated backup commit: $BUILD_TIMESTAMP"
git push
*确保您拥有在主机上运行这些命令的正确权限

这将使您能够:

  • 为您保留备份Jenkins配置
  • 管理备份的版本
  • 查看对配置所做更改的历史记录

希望能有帮助

不错-虽然我不明白为什么你需要用sudo运行git命令。@gareth_bowles我必须承认这与我工作的公司的安全策略以及他们提供的操作系统模板有关。你的观点完全正确,我已经编辑了我的答案。@Dvir669:谢谢你分享你的想法,但是我们有很多不同的项目使用同一个詹金斯。您不认为将它们保存在一个中央存储库中会造成安全威胁吗?请使用与您当前使用的备份位置相同的权限。Jenkins管理员应该决定谁有权查看/修改该存储库,一般来说,该存储库不应该发布在任何地方,因为它是一个严格意义上的开发操作存储库——否则任何人都不应该访问它。很好——尽管我不明白为什么需要用sudo运行git命令。@gareth_bowles我必须承认这与我工作的公司的安全策略以及他们提供的操作系统模板有关。你的观点完全正确,我已经编辑了我的答案。@Dvir669:谢谢你分享你的想法,但是我们有很多不同的项目使用同一个詹金斯。您不认为将它们保存在一个中央存储库中会造成安全威胁吗?请使用与您当前使用的备份位置相同的权限。Jenkins管理员应该决定谁有权查看/修改该存储库,一般来说,它不应该发布在任何地方,因为它严格来说是一个开发人员操作存储库——否则任何人都不应该访问它。