Я развернул Jenkins на своем компьютере CentOS, Jenkins работал хорошо в течение 3 дней, но вчера возникла проблема Disk space is too low. Only 1.019GB left.
.
Как я могу решить эту проблему, она отключит моего мастера на несколько часов?
Я развернул Jenkins на своем компьютере CentOS, Jenkins работал хорошо в течение 3 дней, но вчера возникла проблема Disk space is too low. Only 1.019GB left.
.
Как я могу решить эту проблему, она отключит моего мастера на несколько часов?
Вы можете легко изменить пороговое значение для пользовательского интерфейса jenkins (моя версия 1.651.3):
[]
Эта функция предназначена для предотвращения работы на ведомых устройствах с небольшим свободным дисковым пространством. Снижение порога не решит тот факт, что некоторые задания не очищаются должным образом после завершения.
В зависимости от того, что вы строите:
Альтернатива1 - предоставление нового ведомого на задание (используйте спотовых ведомых - есть много плагинов, которые интегрируются с различными облачными провайдерами для предоставления на лету машин по запросу)
Alternative2 - запустить сборку внутри контейнера. Все будет отброшено после завершения сборки
Помимо вышеупомянутых решений, есть более "ОБЩИЙ" способ - напрямую удалить самого крупного потребителя пространства с машины Linux. Вы можете выполнить следующие шаги:
Использование
ls -lart
для вывода списка скрытых папок, как правило, jenkin установка находится в папке .jenkins/[xxxxx ~]$ ls -lart
drwxrwxr-x 12 xxxx 4096 Feb 8 02:08.jenkins/
Используйте
df -h
, чтобы показать дисковое пространство на высоком уровне
du -sh ./*/
перечислить общий объем памяти для каждой подпапки в текущем пути.
du -a /etc/ | sort -n -r | head -n 10
перечислит 10 лучших каталогов, занимающих место на диске в /etc/
Обычно папка
./job/
или папка./workspace/
могут быть самой большой папкой. Пожалуйста, зайдите внутрь и удалите базу по необходимости (НЕ удалить всю папку).
rm -rf theFolderToDelete
Вы можете ограничить сокращение пространства на диске, отбросив старые сборки. Для этого в настройке проекта есть флажок.
Это действительно законный вопрос, поэтому я не понимаю downvotes, возможно, он принадлежит Superuser или Serverfault. Это порог мягкого предупреждения, а не жесткий предел, когда диск находится вне места.
Дженкинс - то же самое. Вывод для многих небольших проектов может быть уменьшен системное свойство под названием hudson.diagnosis.HudsonHomeDiskUsageChecker.freeSpaceThreshold
.
Говоря, что я его не тестировал, и есть отказ от ответственности
Гарантия совместимости
В общем, эти коммутаторы часто являются экспериментальными по своей природе и могут быть изменены без предварительного уведомления. Если вы найдете некоторые из этих полезных, пожалуйста, напишите билет, чтобы продвинуть его к официальной функции.
У меня та же проблема. Моя версия jenkins - 2.3, и его интерфейс немного отличается. Помещение этого здесь так, чтобы это могло кому-то помочь. Увеличение порогового значения дискового пространства до 5 ГБ решило проблему.
Чтобы проверить свободное место как Дженкинс Джоб:
FREE_SPACE
: требуется свободное место в ГБ.#!/usr/bin/env bash
free_space="$(df -Ph . | awk 'NR==2 {print $4}')"
if [[ "${free_space}" = *G* ]]; then
free_space_gb=${x/[^0-9]*/}
if [[ ${free_space_gb} -lt ${FREE_SPACE} ]]; then
echo "Warning! Low space: ${free_space}"
exit 2
fi
else
echo "Warning! Unknown: ${free_space}"
exit 1
fi
echo "Free space: ${free_space}"
Free space: (.*)
Описание: Free space: \1
Регулярное выражение для неудачных сборок: Warning! (.*)
\1