Где 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

применимо и к Ubuntu.
vikramvi

3
@vikramvi Ubuntu - это дистрибутив Linux. ;)
automatix


4

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



1

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

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

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

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

*cd>jenkins/jobs/`
cd>jenkins/jobs/$ls
   job1 job2 job3 config.xml ....*

Все файлы конфигурации хранятся на главном сервере jenkins. Можно сказать просто
Prasad MCN
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.