Очистить историю сборок Jenkins (очистить вчерашнюю сборку)

Очистить историю сборок Jenkins (очистить вчерашнюю сборку)

Мне нужно очистить историю сборок Jenkins:Вчера-2 дня назад-Все сборки. Как это сделать в Jenkins?

решение1

  • Удалить сборку Jenkins через графический интерфейс.

    Перейдите в сборку, которую хотите удалить, и нажмите кнопку в правом верхнем углу.  Delete this build  

    введите описание изображения здесь

  • Если вам нужно очистить историю сборок Jenkins и сбросить настройкиномер сборкиВозвращаясь к пункту 1, вы можете запустить простой скрипт в Jenkins Script Console.источник

    1. Перейти к ДженкинсуСкриптовая консоль.

      Перейдите на домашнюю страницу Jenkins ->Управлять Дженкинсом->Скриптовая консоль.

      введите описание изображения здесь

    2. Запустите этот скрипт для очистки и сброса настроек.

      Скопируйте и вставьте этот скрипт в текстовую область Console Script и измените "copy_folder"на имя проекта, который вам нужно очистить для истории. Затем нажмитеБегатькнопка.

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

      Если вы используете многоветвевой конвейер или папки, вторую строку приведенного выше скрипта необходимо изменить следующим образом:

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

Другой способ удаления старых сборок или заданий — из командной строки.

Войдите в командную строку Jenkins.

Чтобы удалить все задание и историю сборки, удалите папку задания, например:

rm -rf jobs/jobname

Чтобы просмотреть историю сборки:

$ls jobs/имя_работы/сборки

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 последняяСтабильнаяСборка последняяНестабильнаяСборка
legacyIds

Чтобы удалить выбранные сборки, удалите каталог с номером сборки, например:

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

Не забудьте последний шагпри удалении или редактировании файлов в Jenkins.

После удаления заданий или сборок из файловой системы вам необходимо перейти вУправлять Дженкинсомв графическом интерфейсе Jenkins нажмитеПерезагрузить конфигурацию с диска.

Примечание: Домашний каталог 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 → выберите ветку, которую нужно удалить → выберите Build History
  • Параметр «История сборки» → Выберите красный кружок сборки с ошибкой (#305)
        Опция истории сборки
  • Ошибка задания Дженкинса→ Выберите Удалить сборку:
        Удалить опцию сборки
  • Подтверждающее сообщение перед удалением → Выберите Да для удаления.
        Подтверждающее сообщение перед удалением

решение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 {} \;

Связанный контент