Подтвердить что ты не робот

Есть ли способ очистить рабочее пространство Jenkins?

Как очистить рабочее пространство в Jenkins? Я использую AccuRev как средство управления версиями.

Я создал проекты freestyle в Jenkins.

4b9b3361

Ответ 1

В Дженкинсе есть способ очистить рабочее пространство. Вы можете очистить рабочее пространство перед сборкой или после сборки.

Сначала установите Плагин очистки рабочей области.

Чтобы очистить рабочее пространство перед сборкой: В Среда сборки установите флажок Удалить рабочее пространство до начала сборки.

Чтобы очистить рабочее пространство после сборки: В разделе Действия после сборки выберите Удалить рабочее пространство, когда сборка выполнена, в раскрывающемся меню Добавить пост-сборку.

Ответ 2

Если вы хотите почистить его вручную, для меня с моей версией jenkins (кажется, не нужно устанавливать дополнительный плагин, но кто знает), в левой колонке есть ссылка "Рабочее пространство", нажмите на ваш проект, затем в "рабочей области", в левой колонке под ней появляется ссылка "Очистить текущую рабочую область". screenshot

Ответ 3

Помимо вышеперечисленных решений, существует более "ОБЩИЙ" способ - прямое удаление наибольшего космического потребителя с Linux-машины. Вы можете выполнить следующие шаги:

  • Вход в машину Jenkins (Putty) введите описание изображения здесь
  • cd к пути установки Jenkins

Использование ls -lart для отображения скрытой папки также, обычно jenkin установка помещена в .jenkins/folder

[xxxxx ~]$ ls -lart

drwxrwxr-x 12 xxxx  4096 Feb  8 02:08 .jenkins/
  1. укажите пробелы в папках

Use df -h, чтобы показать дисковое пространство на высоком уровне

du -sh ./*/, чтобы отобразить общую память для каждой подпапки в текущей путь.

du -a /etc/ | sort -n -r | head -n 10 отобразит 10 лучших каталогов использование дискового пространства в /etc/

  1. Удалить старую сборку или другую папку большого размера

Обычно папка./job/или./workspace/может быть самой большой папка. Пожалуйста, зайдите внутрь и удалите нужную базу (НЕ удаляйте целую папку).

rm -rf theFolderToDelete

enter image description here

Ответ 4

Вы можете запустить ниже script в консоли управления Jenkins → Scripts Console для удаления рабочих областей всех заданий за один снимок. Мы сделали это, чтобы очистить место в файловой системе.

import hudson.model.*
// For each project
for(item in Hudson.instance.items) {
  // check that job is not building
  if(!item.isBuilding()) {
    println("Wiping out workspace of job "+item.name)
    item.doDoWipeOutWorkspace()
  }
  else {
    println("Skipping job "+item.name+", currently building")
  }
}

Ответ 6

Вам нужно будет установить этот плагин, прежде чем появятся опции, упомянутые выше.

Плагин очистки рабочей области

Этот плагин добавляет флажок ко всем конфигурациям заданий, чтобы вы могли удалять всю рабочую область до того, как будут выполнены какие-либо шаги (в том числе с контролем источника)

Это полезно, чтобы убедиться, что вы всегда начинаете с известной точки, чтобы гарантировать, что вы построите будет работать

Ответ 7

не разрешено комментировать, поэтому:

Ответ от Upen работает отлично, но нет, если у вас есть Jenkins Pipeline Jobs, смешанный с Freestyle Jobs. Нет такого метода, как DoWipeWorkspace для рабочих мест трубопроводов. Поэтому я изменил сценарий, чтобы пропустить те:

import hudson.model.*
import org.jenkinsci.plugins.workflow.job.WorkflowJob

// For each project
for(item in Hudson.instance.items) {
  // check that job is not building
  if(!item.isBuilding() && !(item instanceof WorkflowJob))
  {
    println("Wiping out workspace of job "+item.name)
    item.doDoWipeOutWorkspace()
  }
  else {
    println("Skipping job "+item.name+", currently building")
  }
}

вы также можете фильтровать по именам заданий, если требуется: item.getDisplayName().toLowerCase().contains("release")

Ответ 8

ВАЖНО: безопасно удалить рабочее пространство для заданного задания Jenkins, если задание в данный момент не выполняется!

ПРИМЕЧАНИЕ: я предполагаю, что ваш $JENKINS_HOME установлен по умолчанию: /var/jenkins_home.

Очистить одно рабочее место

rm -rf/var/jenkins_home/workspaces/<workspace>

Очистить все рабочие места

rm -rf/var/jenkins_home/workspaces/*

Очистить все рабочие пространства с несколькими исключениями

Этот использует grep для создания белого списка:

ls /var/jenkins_home/workspace \ 
  | grep -v -E '(job-to-skip|another-job-to-skip)$' \
  | xargs -I {} rm -rf /var/jenkins_home/workspace/{}

Очистить 10 крупнейших рабочих мест

Этот использует du и sort, чтобы перечислить рабочие пространства в порядке от наибольшего к наименьшему. Затем он использует голову, чтобы захватить первые 10:

du -d 1 /var/jenkins_home/workspace \
  | sort -n -r \
  | head -n 10 \
  | xargs -I {} rm -rf /var/jenkins_home/workspace/{}

Ответ 9

Предполагая, что вопрос касается очистки рабочей области текущей работы, вы можете запустить:

test -n "$WORKSPACE" && rm -rf $WORKSPACE/*