Jenkins – популярный сервер автоматизации с открытым исходным кодом, обеспечивающий обширную поддержку непрерывной интеграции и конвейеров доставки. Со временем, по мере накопления сборок, может возникнуть необходимость очистить историю сборок конкретного задания для поддержания оптимальной производительности. В этой статье мы рассмотрим несколько способов удаления всех сборок задания Jenkins, а также примеры кода.
Метод 1. Использование Jenkins REST API
Jenkins предоставляет RESTful API, который позволяет вам программно взаимодействовать с Jenkins. Чтобы удалить все сборки задания с помощью REST API, вы можете отправить запрос DELETE на сервер Jenkins. Вот пример использования cURL:
curl -X POST <JENKINS_URL>/job/<JOB_NAME>/doDeleteAll
Замените <JENKINS_URL>
на URL-адрес вашего сервера Jenkins и <JOB_NAME>
на имя задания, для которого вы хотите удалить сборки.
Метод 2: использование консоли сценариев Jenkins
Консоль сценариев Jenkins позволяет выполнять сценарии Groovy непосредственно на сервере Jenkins. Для удаления всех сборок задания можно использовать следующий скрипт:
def job = Jenkins.instance.getItem('<JOB_NAME>')
job.getBuilds().each { build -> build.delete() }
Замените <JOB_NAME>
на имя задания, сборки для которого вы хотите удалить. Выполните этот скрипт в консоли сценариев Jenkins, чтобы удалить все сборки.
Метод 3: использование интерфейса командной строки Jenkins
Jenkins CLI (интерфейс командной строки) — еще один мощный инструмент для взаимодействия с Jenkins из командной строки. Для удаления сборок задания можно использовать следующую команду:
java -jar jenkins-cli.jar -s <JENKINS_URL> delete-builds <JOB_NAME>
Замените <JENKINS_URL>
на URL-адрес вашего сервера Jenkins и <JOB_NAME>
на имя задания, для которого вы хотите удалить сборки. Убедитесь, что у вас есть JAR-файл Jenkins CLI (jenkins-cli.jar
).
Метод 4. Использование плагинов Jenkins
Дженкинс имеет обширную коллекцию плагинов, расширяющих его функциональность. Некоторые плагины предлагают функции для эффективного управления сборками. Например, плагин JobConfigHistory позволяет очистить историю сборки задания из пользовательского интерфейса Jenkins.
В этой статье мы рассмотрели несколько способов удаления всех сборок задания Jenkins. Независимо от того, предпочитаете ли вы использовать REST API, консоль сценариев, интерфейс командной строки или плагины Jenkins, у вас есть несколько вариантов достижения желаемого результата. Выберите метод, который соответствует вашему рабочему процессу и требованиям.
Регулярная очистка сборки помогает поддерживать производительность Jenkins, снижает использование хранилища и обеспечивает более оптимизированную среду разработки.