誤って意図しないジョブを消してしまった、そんなときの復旧方法のメモ。
前提
- 設定変更履歴の閲覧、ジョブ作成ができること
- Jenkinsサバへsshログインでき、sudo使えること
復旧方法
以下の3ステップでできた。ジョブ連携している場合は後述の注意点を参照。
1. 削除直前のジョブの設定を取ってくる
- Jenkins > 設定の変更履歴 > Show all configs を選択
- すべての設定履歴のシステム設定/ジョブ設定 から [削除したジョブ名]deleted[日時] を選択
- Job Deletion HistoryのShow Fileから、削除した一つ前のXMLをRawで表示、保存しておく (最新のXMLは空なので、削除直前のものにする)
2. 削除したジョブを再作成する
- Jenkins > 新規ジョブ作成を選択
- ジョブ名に削除したジョブ名を入力
- フリースタイルのプロジェクトを選択
- OK でジョブ作成
3. ジョブの設定を反映する
- Jenkinsサバにsshログイン
- 作成したジョブのconfig.xmlを、先ほど保存したXMLの内容で置き換える
$ sudo vi /インストール先/jenkins/jobs/作成したジョブ/config.xml
- リロードする (再起動するので実行中のジョブに注意)
$ sudo /etc/init.d/jenkins reload
Shutting down Jenkins [ OK ]
Starting Jenkins [ OK ]
- Jenkinsが起動したら、作成したジョブのビューを開いて有効化
注意点
- Jenkinsはリロードといいつつ再起動する
- 他のジョブと連携している場合、
- この手順で復旧すると下流ジョブの連携は復旧される
- 上流ジョブとの連携はジョブ削除時に切れたままになる。上流ジョブも同じ方法で復旧できる