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にプッシュします
git add *
$date = Get-Date
git commit -m"backup update $date"
git push origin HEAD:master
ワークスペース全体addしてコミットしてプッシュできれば何でもいいですが大体こんな感じでバックアップとれます。
書くスクリプトは4行!