Jenkinsの「ジョブ設定」をバックアップするバッチファイルを作ってみた
Jenkinsの「ジョブの設定」を変更する時に
変更してから、前の状態は、どんなんだったっけ?
ということがある。
ソースはバージョン管理してるけど、
Jenkinsの「ジョブの設定」はバージョン管理してないので
とりあえず、「ジョブの設定」をバックアップしたい。
Jenkinsの「ジョブの設定」は
Jenkinsフォルダの「jobs/ジョブ名/config.xml」である。
TracLightningをデフォルトで使っている場合、jobフォルダは
「C:\TracLight\projects\hudson\.hudson\jobs」である。
そこで下記のようなバッチファイルを作ってみた。
@echo off
rem バックアップ先のパス
set BackupPath=%~dp0
rem Jenkinsのドライブとジョブのパス
set JenkinsDrive=C:
set JenkinsJobPath=C:\TracLight\projects\hudson\.hudson\jobs
echo %JenkinsJobPath%
rem カレントフォルダをJenkinsジョブのパスにする
%JenkinsDrive%
cd %JenkinsJobPath%
for /d %%i in (*) do (
rem バックアップ先にジョブフォルダがなければ作る
if exist "%BackupPath%%%i" (
rem echo "%BackupPath%%%i" が存在します
) else (
mkdir "%BackupPath%%%i"
)
rem Jenkinsジョブフォルダのジョブをバックアップ(上書き確認なし)
copy /Y "%JenkinsJobPath%\%%i\config.xml" "%BackupPath%%%i"
)
echo Jenkinsのジョブをバックアップしました。
pause
バッチファイルを実行するフォルダに
各jobのフォルダがなければ作って、そこにconfig.xmlをコピーする。
Jenkinsでジョブを変更する前に
このバッチを動かしてバックアップすれば良い。
バックアップしたファイルをバージョン管理ツールで管理したら
変更履歴も分かって便利だと思う。
コメント
このブログの新着コメントをRSSリーダに登録する為のxml