У меня около 100 заданий на моем hudson CI, возможно их массовое удаление?
Hudson CI: как удалить все задания?
Ответ 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();
}
Ответ 2
Просто удалите каталоги заданий:
cd $HUDSON_HOME/jobs
rm -rf <JOB_NAME>
Смотрите: Администрирование Хадсона
Ответ 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 с нуля и заполняет его конфигурацию таким образом.