Jenkinsのバックアップを簡単にデイリーでとる ついでにバージョン管理する


Jenkinsのバックアップを簡単にデイリーでとる

いろんな人がこの問題への回答を出しているのですが、なんかいっぱいスクリプト書いてたりして細かい設定とか小回り効かせたいとか…わかるけど…とってもめんどくさいと思いました!

のでthinBackupを使ってjenkinsの設定を最小限でやる方法を考えてみました。

thin Backupの設定

thinBackupの設定はここにあります。jenkinsの設定画面からも行けます。
[JenkinsのURL]/thinBackup/backupsettings

で次の設定をします。

  • Backup directory にバックアップディレクトリを設定する

次の二つにバックアップスケジュール設定
* Backup schedule for full backups
* Backup schedule for differential backups

後の設定はお好みで

できたら[JenkinsのURL]/thinBackupからBackup NowをおしてRestore画面から、正しくバックアップとれているかを確認。
(ドロップダウンに日付が出ていればOKです。)

ここまででローカルにバックアップが取れます。

ジョブの設定(ついでにバージョン管理する)

ここまででバックアップは取れていますが、あとはバージョン管理に上げたい場合の説明
gitで説明しますが大体たぶん一緒です。

1.フリースタイルジョブ作ります。
2.カスタムワークスペースをThinBackupのバックアップディレクトリにします。
3.ジョブを動かしてワークスペースにバックアップファイルがあるか確認します。
4.ソースコード管理のところでgitリポジトリに設定します。
5.ジョブを動かすと、バックアップが一回消えます。(リポジトリをクローンしてくるため)
6.ThinBackupでバックアップを取ります。
7.次のようなコードを動かしてバックアップをgitにプッシュします

powershell

git add *
$date = Get-Date
git commit -m"backup update $date"
git push origin HEAD:master

ワークスペース全体addしてコミットしてプッシュできれば何でもいいですが大体こんな感じでバックアップとれます。
書くスクリプトは4行!