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

Hudson CI: как удалить все задания?

У меня около 100 заданий на моем hudson CI, возможно их массовое удаление?

4b9b3361

Ответ 1

Самый простой способ, IMHO, - использовать script. Перейдите к http://your.hudson.url/script/

Удаление заданий путем запуска:

for(j in hudson.model.Hudson.theInstance.getProjects()) {
    j.delete();
}

И этот способ дает вам возможность легко использовать условие для фильтрации заданий для удаления.


ДЛЯ JENKINS

Текущие версии (2.x):

for(j in jenkins.model.Jenkins.theInstance.getAllItems()) {
    j.delete()
}

Старые версии:

for(j in jenkins.model.Jenkins.getInstance().getProjects()) {
    j.delete();
}

Ответ 3

Вы можете программным образом использовать XML api (или использовать аромат JSON, если вы этого предпочтете):

http://your.hudson.url/api/xml?xpath=//job/name&wrapper=jobs

Возврат:

<jobs>
    <name>firstJob</name>
    <name>secondJob</name>
    <!-- etc -->
</jobs>

Теперь перебираем имена заданий и выполняем почтовый запрос

 http://your.hudson.url/job/your.job.name/doDelete

(Вы можете сделать это с любым языком программирования, который вам нравится, поддерживает XML и HTTP)

Ответ 4

У меня были подобные проблемы с управляемостью с экземпляром Hudson, в котором выполнялось 500+ заданий построения - было нецелесообразно вручную поддерживать это множество заданий с помощью gui. Тем не менее, вы можете предоставлять задания в Гудзоне дистанционно и программно с помощью CLI, который поставляется в виде файла jar [http://wiki.hudson-ci.org/display/HUDSON/Hudson+CLI].

The command to delete a job would be something like:
**java -jar hudson-cli.jar -s http://host:port/ delete-job jobname**

And the rest of the commands you will need are here:
**java -jar hudson-cli.jar -s http://host:port/** help

Я завернул cli в python и создал файл XML, из которого можно было сохранить конфигурацию сборки, - тогда я мог бы использовать это, чтобы манипулировать моими запущенными экземплярами Hudson. Это также обеспечило возможность "reset" экземпляра CI вернуться к известной конфигурации - удобно, если вы подозреваете, что сбои сборки вызваны изменениями вручную в пользовательском интерфейсе или если вы используете другой сервер CI для каждой среды, в которую вы развертываете ( т.е. dev, test, prod) и необходимо создать новый.

Это также привело меня к нескольким связям, когда плохо написанные плагины исказили собственный XML Хадсона, и мне нужно было перестроить мои экземпляры. Hudson также связан с I/O и для действительно загруженных экземпляров часто быстрее загружает Hudson с нуля и заполняет его конфигурацию таким образом.