会社でそういう需要があったので作りました
https://github.com/sue445/jenkins-backup-script
Jenkinsのバックアップ方法を探していて Backup Plugin というのはあったのですが、これだと手動バックアップしかできなかったので、Jenkinsのジョブ上で定期実行するために自分で作成。
想定としては
- jenkins-backup-script 自体をJenkinsのジョブとして実行
- githubからcloneして使うので、普通のジョブの設定と同じ
- crontab形式で指定できるので1日1回定期実行
- 設定ファイルとプラグインを階層構想を保持してtar.gzでアーカイブ
- (弊社の場合)インフラチームのスクリプトでtar.gzファイルを別のサーバに転送
- プラグインをアップデート前に手動バックアップしておいて、何かあったらバックアップから復旧
- tar.gzを展開してそのまま上書きするだけ
という感じです
なんとなく二番煎じくさいですが、ググっても自分が作ったようなのは見つかりませんでした。
みんなJenkinsの定期バックアップはしなかったり、社内スクリプトなので外部に公開してないのだろうか。。。
カスタマイズしたければ適当にforkしてください。
あと、bashだけで書いているのでUNIX系ならどんな環境でも動くはずですが、Debian lennyとCentOS 6でしか動作確認してないので若干不安。。。