Я новичок в Hudson / Jenkins, и мне было интересно, есть ли способ проверить файлы конфигурации Hudson в системе управления версиями.
В идеале я хочу иметь возможность щелкнуть какую-нибудь кнопку в пользовательском интерфейсе с надписью «сохранить конфигурацию» и проверить файлы конфигурации Hudson в системе управления версиями.
version-control
hudson
jenkins
jenkins-plugins
Юваль Рот
источник
источник
Ответы:
Самый полезный ответ
Существует плагин под названием SCM Sync configuration plugin .
Оригинальный ответ
Взгляните на мой ответ на аналогичный вопрос. Основная идея заключается в использовании модуля filesystem-scm-plugin для обнаружения изменений в xml-файлах. Вторая часть будет фиксировать изменения в SVN.
РЕДАКТИРОВАТЬ: Если вы найдете способ определить пользователя для изменения, сообщите нам об этом.
РЕДАКТИРОВАТЬ 2011-01-10 Между тем появился новый плагин: плагин конфигурации SCM Sync . В настоящее время он работает только с Subversion и git, но планируется поддержка большего количества репозиториев. Я использую его с версии 0.0.3, и пока он работает хорошо.
источник
Обратите внимание, что у Vogella есть недавний (январь 2014 г., по сравнению с вопросом ОП от января 2010 г.) и другой подход к этому вопросу.
Учтите, что плагин конфигурации SCM Sync может генерировать много коммитов.
Таким образом, вместо того, чтобы полагаться на плагин и автоматизированный процесс, он управляет той же функцией вручную:
Хранение информации о задании Дженкинса в Git
Альберто также рекомендовал добавить (в
$JENKINS_HOME
):config.xml
),hudson*.xml
) иusers/*/config.xml
)источник
config.xml
?Чтобы вручную управлять конфигурацией с помощью Git, может оказаться полезным следующий файл .gitignore.
См. Этот GitHub Gist и этот пост в блоге для получения более подробной информации.
источник
Есть новый подключаемый модуль SCM Sync Configuration, который делает именно то, что вы ищете.
На самом деле я еще не пробовал это, но это выглядит многообещающе.
источник
Вы можете найти файлы конфигурации в домашней папке Jenkins (например
/var/lib/jenkins
).Чтобы сохранить их в VCS, сначала войдите как Jenkins (
sudo su - jenkins
) и создайте его учетные данные git:Затем инициализируйте, добавьте и зафиксируйте основные файлы, такие как:
также рассмотрите возможность создания
.gitignore
со следующими файлами, которые следует игнорировать (при необходимости настройте):Затем добавить:
git add .gitignore
.Когда закончите, вы можете добавить файлы конфигурации задания, например
Наконец, добавьте и зафиксируйте любые другие файлы, если это необходимо, затем отправьте его в удаленный репозиторий, где вы хотите сохранить файлы конфигурации.
Когда файлы Jenkins обновляются, вам необходимо перезагрузить их (перезагрузить конфигурацию с диска ) или запустить
reload-configuration
из Jenkins CLI.источник
*.xml
не меняет правила, и git игнорирует все файлы xml, включая файлыconfig.xml
изjobs
каталога, после чегоgit status
молча игнорирует любой новый проект.Я предпочитаю исключить из домашней папки Jenkins все, кроме файлов конфигурации, которые вы действительно хотите разместить в VCS. Вот
.gitignore
файл, который я использую:Это игнорирует все (
*
) кроме самого (!
).gitignore
, задания / проекты, плагин и другие важные и пользовательские файлы конфигурации.Также стоит подумать о включении
plugins
папки. Должны быть включены досадно обновленные плагины ...В основном это решение упрощает будущие обновления Jenkins / Hudson, поскольку новые файлы автоматически не попадают в область действия. Вы просто получаете то, что действительно хотите.
источник
Более точный
.gitignore
, вдохновленный ответом nepa :Он игнорирует все, кроме
.xml
файлов конфигурации и.gitignore
самого себя. (разница в Непско «ы в.gitignore
том , что он не„игнорировать“все каталоги верхнего уровня (!*/
) , какlogs/
,cache/
и т.д.)источник
Ответ от Марка ( https://stackoverflow.com/a/4066654/142207 ) должен работать для SVN и Git (хотя конфигурация Git у меня не сработала).
Но если вам это нужно для работы с Mercurial repo, создайте задание со следующим скриптом:
источник
Я написал плагин, который позволяет вам проверять ваши инструкции Jenkins в системе контроля версий. Просто добавьте
.jenkins.yml
файл с содержимым:и Дженкинс это сделает:
источник
Я полностью проверил Хадсон, вы можете использовать это как отправную точку https://github.com/morkeleb/continuous-delivery-with-hudson
Хранение всего Hudson в git имеет свои преимущества. Все изменения конфигурации регистрируются, и вы можете довольно легко протестировать тест на одной машине, а затем обновить другую машину (а) с помощью git pull.
Мы использовали это как шаблон для нашей настройки непрерывной доставки Hudson на работе.
С уважением, Мортен
источник