Jenkinsのバックアップ
システム開発担当の読です。
私は耳が痛くなるので、イヤホンは好きではなかったのですが、最近購入したイヤホンは全然痛くならなかったです。
昔のイヤホンはインナーイヤー型というらしいですね、私にはこれが全く合いませんでしたが、
最近はカナル型というのが支流らしく、こちらは私にぴったりでした。
ただあまり安価なものだと、コードがすれた時の音がかなり大きく聞こえるので、その対策がされているモノを購入した方がいいかもしれません。
さて今回はJenkinsのバックアップを視点にプラグインを導入していきたいと思います。
JenkinsのバックアップはJENKINS_HOMEをコピーするだけでいいですが、
以下のプラグインを使用することで楽にバックアップを取ることができます。
Hudson環境のバックアップの記事を参考にさせていただきました。
BackupPlugin
プラグインをインストールすると、「Jenkinsの管理」内に「Backup manager」が追加されますので、そこから設定やバックアップ、リストアを行えます。
設定
「Backup manager」内の「Setup」で設定画面が開かれます。
Hudson root directory | :相対パス時のルート |
Backup directory | :バックアップの保存先(設定していない場合はそのまま削除されます) |
Format | :圧縮形式 |
File name template | :ファイル名(初期値はbackup_日付.時間となります) |
Custom exclusions | :バックアップさせたくないフォルダ下を指定 |
Verbose mode | :バックアップしたファイルをすべて表示する |
Configuration files (.xml) only | :XMLファイルのみ摘出してバックアップする |
No shutdown | :バックアップ時シャットダウンさせない |
Backup job workspace | :指定したジョブを含むまたは除外する |
Backup builds history | :ビルド履歴もバックアップ |
Backup maven artifacts archives | :Mavenのビルド結果もバックアップ |
Backup fingerprints | :プロジェクトバージョン情報のバックアップ |
バックアップ
「Backup manager」内の「Backup Hudson configuration」でバックアップ。
「Restore Hudson configuration」でリストア。
Exclusive Execution Plugin + NAnt
こちらはExclusive Execution PluginとNAntを使用したバックアップ方法です。
「Exclusive Execution Plugin」と「NAnt」双方必要になります。
※NAntのインストールは割愛させていただきます
NAntの設定
「Jenkinsの管理」-「システムの設定」でNAntを追加します。
name | :一意に認識出来る名前 |
NANT_HOME | :NAntが存在するフォルダパス |
ジョブの作成と設定
まずバックアップ用のジョブを作成します。
「新規ジョブ作成」から「フリースタイル・プロジェクトのビルド」でジョブを作成してください。
■NAnt用のdefault.buildを作成する
<?xml version="1.0" encoding="UTF-8"?> <project default="backup"> <target name="backup" > <zip zipfile="Jenkins_${label}.zip"> <fileset basedir="JENKINS_HOME"> <include name="**/*" /> <exclude name="war/**" /> <exclude name="jobs/*/workspace/**" /> <exclude name="**log" /> </fileset> </zip> </target> </project>
zip | :ファイル名(上記は下記の設定で指定したプロパティを使用してファイル名を作成しています) |
fileset | :Jenkinsがインストールされているフォルダを指定する |
include | :圧縮する範囲 |
exclude | :バックアップから除外(上記は「war」と「workspace」以下を除外しています) |
※下記の設定で「Nant Build File」を設定しない場合、このジョブのワークスペースに置いてください。
NAnt Version | :使用するNAnt(上記で設定したNAntを選択してください) |
Nant Build File | :ビルドファイルを指定(今回はワークスペース内に置くので設定しません) |
Targets | :ターゲット(ビルドファイル内のバックアップ用に作成したターゲット名を指定してください) |
Properties | :その他プロパティ項目(今回はファイル名を日付にするために使用しています) |
バックアップ
あとは、他のジョブと同じように使用すれば指定の場所に、バックアップファイルが出力されます。
最後に
「BackupPlugin」はとにかくゴタゴタしたことがなくて、簡単にバックアップが取れますね、でも定期的にバックアップが取れないようなのでそこは不便です。
「Exclusive Execution Plugin + NAnt」は少しゴタゴタしますが、定期的にバックアップを行えて、バックアップの成功/失敗も教えてくれますが、リストアは手動なのが面倒です。。。
今回はNAntを使用しましたが、MSBuildで出来るのかも試してみたいですね。