Jenkins のビルド履歴をクリアする (昨日のビルドをクリアする)

Jenkins のビルド履歴をクリアする (昨日のビルドをクリアする)

Jenkins のビルド履歴をクリアしてクリーンアップする必要があります。昨日-2日前-すべてのビルドJenkins でどうすればいいでしょうか?

答え1

  • GUI 経由で Jenkins ビルドを削除します。

    削除したいビルドに移動し、右上隅にあるボタンをクリックします。  Delete this build  

    ここに画像の説明を入力してください

  • Jenkinsのビルド履歴を消去し、ビルド番号1 に戻ると、Jenkins スクリプト コンソールで簡単なスクリプトを実行できます。ソース

    1. ジェンキンスへスクリプトコンソール

      Jenkinsのホームページに移動します ->Jenkinsを管理する->スクリプトコンソール

      ここに画像の説明を入力してください

    2. このスクリプトを実行して、クリーンアップしてリセットします。

      このスクリプトをコピーしてコンソールスクリプトのテキストエリアに貼り付け、を"copy_folder"履歴を消去する必要があるプロジェクト名に変更します。次に、走るボタン。

      def jobName = "copy_folder"  
      def job = Jenkins.instance.getItem(jobName)  
      job.getBuilds().each { it.delete() }  
      job.nextBuildNumber = 1   
      job.save()
      

      マルチブランチ パイプラインまたはフォルダーを使用している場合は、上記のスクリプトの 2 行目を次のように変更する必要があります。

      def jobName = "path/to/your/jenkins/pipeline/master"
      def job = Jenkins.getInstance().getItemByFullName(jobName, Job.class)
      

古いビルドまたはジョブを削除する別の方法は、コマンドラインから行うことです。

Jenkins コマンドラインにログインします。

ジョブ全体とビルド履歴を削除するには、ジョブ フォルダーを削除します。例:

rm -rf jobs/jobname

ビルド履歴を確認するには:

$ls ジョブ/ジョブ名/ビルド

1409 1411 1413 1415 1417 1419 1421 1423 1425
923 963 974 985 前回失敗したビルド 前回成功したビルド  
前回のビルド失敗 1191 1334 1348 1379 1381 1383
1406 1408 1410 1412 1414 1416 1418 1420 1422 1424
913 962 973 978 987 前回の安定ビルド 前回の不安定ビルド
レガシーID

選択したビルドを削除するには、ビルド番号ディレクトリを削除します。例:

rm -rf jobs/jobname/builds/97* jobs/jobname/builds/13*

最後のステップを忘れないでくださいJenkins でファイルを削除または編集する場合。

ファイルシステムからジョブまたはビルドを削除した後は、Jenkinsを管理するJenkins GUIでクリックディスクから構成を再読み込み

注: Jenkins ホーム ディレクトリは、/var/jenkins_homeまたは/var/lib/jenkins別の場所にある可能性があります。

答え2

上記の説明は素晴らしいです。履歴やジョブなどをクリーンアップするさまざまな方法が説明されています。

上記を基にしたアイデア: 削除のコマンドライン指示を Jenkins ジョブでラップし、ビルド番号をパラメーター化します。たとえば、ジョブ パラメーターで CSV を指定し、ジョブに関連付けられたシェル スクリプトで解析して、対象のビルドを削除します。また、DELETE_ALL_BUILDS チェックボックス パラメーターを追加し、スクリプト内の IF ステートメントでチェックします。選択した場合は、すべてのビルドを削除します。ジョブの名前をパラメーター化することもできます。たとえば、JOB_NAME というパラメーターを指定して、スクリプトに値を挿入します。例:

rm -rf jobs/${JOB_NAME}/builds/${BUILD_NUM}*

答え3

このタスクを実行するには、Jenkins 管理者である必要があります。以下は、Jenkins ジョブ 305 の例です。

  • Jenkinsを開く→削除したいブランチを選択→ビルド履歴を選択
  • ビルド履歴オプション → エラービルドの赤い円を選択 (#305)
        ビルド履歴オプション
  • Jenkinsジョブエラー→ ビルドの削除を選択:
        ビルドオプションの削除
  • 削除前の確認メッセージ → 削除するには「はい」を選択します。
        削除前の確認メッセージ

答え4

# cd to your Jenkins install directory with the userid that has "permissions"

sudo bash     ( if you have to )

# My installation is like this, so go wherever you placed yours:

cd /reps/jenkins/home/jobs/TestPlaywrightSuite/builds 

# Touch these two files to exclude from the auto search below
#   but since these are regular files, they should be excluded from
#   the find command anyway
touch permalinks
touch legacyids

# find directories older than 7 days and delete on one command

find . -type d -mtime +7 -exec rm -rf {} \;

関連情報