【发布时间】:2019-06-09 02:43:43
【问题描述】:
有什么方法可以在 Git 或其他任何地方保存管道配置或项目配置,以便当我的 Jenkins 机器崩溃时,我可以将保存的配置迁移到新的 Jenkins 实例中?
【问题讨论】:
标签: jenkins
有什么方法可以在 Git 或其他任何地方保存管道配置或项目配置,以便当我的 Jenkins 机器崩溃时,我可以将保存的配置迁移到新的 Jenkins 实例中?
【问题讨论】:
标签: jenkins
您好,您可以在文件中编写管道脚本并将该文件发布到 git 中。
之后只需在 jenkins 中创建管道作业并使用 Pipeline script from SCM 选项作为管道脚本。
另一个选项是将 Jenkins 主目录备份到外部硬盘(将项目工作区保留在 jenkins 主目录之外以减少备份大小)。
【讨论】:
Pipeline Syntax 选择Declarative Directive Generator,然后从下拉列表中选择您想要的选项并单击生成,您将获得语法。将其添加到您的管道脚本中并完成
您的所有作业都存储在$JENKINS_HOME/jobs/<path_to_your_job> 文件夹内的config.xml 文件中。因此,您可以只备份这些 config.xml 文件(或者您可以通过保存完整的 $JENKINS_HOME 文件夹来备份所有 Jenkins 配置)。
【讨论】:
$JENKINS_HOME 设置为/var/lib/jenkins,希望这对某人有所帮助!
我会(作为开始)让你自己 - https://wiki.jenkins.io/display/JENKINS/JobConfigHistory+Plugin 保存对作业、系统配置等所做的所有更改的历史记录 - 已经多次救了我。
另外,您可以在 Jenkins 之外设置一个 cron 作业来 git push 您的作业配置。
我设置推送 Jobs 文件夹内容(包括构建历史 - 但您可以排除它 - Correctly ignore all files recursively under a specific folder except for a specific file type ref)。
我的脚本(我之前设置了 SSH 东西)
cd /this/that/other/jenkins_data/jobs/
NOW=$(date +"%m-%d-%Y-%r")
git add .
git commit -m "Jenkins Backup $NOW"
git push -u origin jenkins-backup
这种方式让我放心,我有一个 RSYNC 到另一个盒子,我也有一个备份插件也在运行......(我被刺过一次 - 不再!)
希望这会有所帮助。
【讨论】: