Где Jenkins хранит файлы конфигурации для выполняемых им заданий?

99

Я добавляю непрерывную интеграцию в проект EC2 на работе с помощью Jenkins. Сама машина Jenkins хранится на машине EC2, которую в любой момент может потребоваться отключить и вернуть на совершенно другой экземпляр EC2. У нас есть несколько манифестов Puppet, которые позволяют нам легко переустановить программное обеспечение на экземпляре EC2, но пользовательские файлы конфигурации, такие как те, что для заданий, которые я создаю в Jenkins, будут удалены после перемещения.

Теперь, если Jenkins хранит, какие задания должны выполняться на нем, в XML-файле или наборе XML-файлов где-нибудь, я мог бы настроить систему, в которой эти файлы фиксируются на сервере контроля версий, а затем загружаются обратно во вновь созданный сервер как часть манифеста марионетки. Кто-нибудь знает, где хранятся эти файлы? Я пробовал копировать /var/lib/jenkins/jobs, но похоже, что в нем хранятся выходные данные заданий Дженкинса, а не входные данные.

странствовать
источник

Ответы:

129

Jenkins хранит конфигурацию для каждого задания в одноименном каталоге в jobs/. Файл конфигурации задания config.xml, сборки хранятся в builds/, а рабочий каталог - workspace/. См. Документацию Jenkins для визуального представления и дополнительных деталей.

Майк Кристиансон
источник
1
А как бы их скачать?
Мартин
3
Если у вас нет доступа к папке установки jenkins, вы можете создать простое задание jenkins и запустить сценарий, который анализирует все файлы конфигурации для заданий: "tar -zcvf jenkins-jobs-configs.tar.gz $ (find $ {JENKINS_HOME} / jobs -name config.xml -maxdepth 2) ". Затем вы можете заархивировать jenkins-jobs-configs.tar.gz
Якуб Чаплики
1
Обратите внимание, что существует также плагин истории конфигурации заданий, который позволяет вам просматривать текущую и предыдущую конфигурации заданий и делать это прямо из веб-браузера, если вы предпочитаете / требуете это поверх доступа к серверам Jenkins.
Нил
12
Вы можете загрузить файл конфигурации с узла Jenkins, запустив: curl http://<ip-address>:8080/job/<job-name>/config.xml > jenkins_config.xml
JESii
Можно ли получить config.xml, когда мы создаем задание jenkins через конвейерный метод?
Манигандан Танигай Арасу
23

В Linux можно найти домашний каталог Jenkins в поисках файла, который содержится в домашнем каталоге Jenkins, например:

$ find / -name "config.xml" | grep "jenkins"
/var/lib/jenkins/config.xml
Automatix
источник
применимо и к Ubuntu.
vikramvi
3
@vikramvi Ubuntu - это дистрибутив Linux. ;)
automatix
8

Дженкинс 1.627, OS X 10.10.5 /Users/Shared/Jenkins/Home/jobs/{project_name}/config.xml

Hlung
источник
Также на OS X 10.12.4 :-)
Марчелло Романи
4

Лучшим подходом было бы хранить конфигурации ваших заданий в файле Jenkins, который находится в системе управления версиями.

ADP
источник
1

Я добавляю несколько вещей, связанных с хранилищем файлов конфигурации jenkins.

Насколько я понимаю, все файлы конфигурации хранятся на компьютере или в ОС, на которых вы установили jenkins.

Задания, которые вы собираетесь создать в jenkins, будут храниться на сервере jenkins, и вы можете найти здесь config.xml и т. Д.

После установки jenkins вы найдете рабочее пространство jenkins на сервере.

*cd>jenkins/jobs/`
cd>jenkins/jobs/$ls
   job1 job2 job3 config.xml ....*
Прасад MCN
источник
Все файлы конфигурации хранятся на главном сервере jenkins. Можно сказать просто
Prasad MCN