2013年7月20日土曜日

Jenkinsでビルド履歴をすべて削除する方法

■情報
Jenkinsのデータを管理するフォルダ:/var/lib/jenkins/jenkins-data/
ビルド履歴を削除するジョブ名:test-job

とします

■削除方法
rm -rf /var/lib/jenkins/jenkins-data/jobs/test-job/builds
echo 1 > /var/lib/jenkins/jenkins-data/jobs/test-job/nextBuildNumber

buildsフォルダを削除し、ジョブを管理するフォルダ配下のnextBuildNumberファイルの値を1に修正します
その後Jenkinsを再起動します
すると、ビルド履歴が全削除されビルドの実行番号も1番からとなります

ポイントはフォルダの削除とファイルの修正を実施したあとにちゃんと再起動をするところ
Jenkinsはどうやら一旦ファイルの情報をJVM上にキャッシュしているようでJenkinsを実行中に削除や変更をしても
設定が反映されません

■応用
すべてのジョブに対して一括で実施するなら以下のようなシェルスクリプトを実行すればいけます
JENKINS_JOBS_HOME="/var/lib/jenkins/jenkins-data/jobs/";
for i in `ls ${JENKINS_JOBS_HOME}`; do cd ${JENKINS_JOBS_HOME}; rm -rf $i/builds; echo 1 > $i/nextBuildNumber;  done;

/etc/init.d/jenkins restart


ということができるプラグインを作ればいんじゃないかなーと思いました

0 件のコメント:

コメントを投稿