Jenkinsのデータを管理するフォルダ:/var/lib/jenkins/jenkins-data/
ビルド履歴を削除するジョブ名:test-job
とします
ビルド履歴を削除するジョブ名: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を実行中に削除や変更をしても
設定が反映されません
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 件のコメント:
コメントを投稿