Ответ 1
Обновление 2016: Дженкинс теперь предоставляет Jenkinsfile, который обеспечивает именно это. Это поддерживается основными разработчиками Jenkins и активно развивается.
Преимущества:
Создание файла Jenkins, который проверяется в исходном элементе управления, дает ряд непосредственных преимуществ:
- Обзор/итерация кода на трубопроводе
- Аудит для трубопровода
- Единственный источник правды для Pipeline, который можно просмотреть и отредактировать несколькими членами проекта.
Я написал плагин, который делает это!
Помимо моего плагина, у вас есть некоторые (ограниченные) варианты с существующими плагинами Jenkins:
Используйте один тест script
Если вы настроите Jenkins просто запустить:
$ bash run_tests.sh
Затем вы можете проверить файл run_tests.sh
в своем реплике SCM, и теперь вы отслеживаете изменения для того, как вы запускаете тесты. Однако это не будет отслеживать конфигурацию любых плагинов.
Аналогично, если вы используете Maven, Maven Project Plugin просто запускает указанную цель для вашего репо.
Литературный плагин позволяет Jenkins запускать команды в вашем README.md, но он еще не выпущен.
Отслеживание изменений конфигурации Jenkins
Вы можете использовать плагин конфигурации SCM Sync для записи изменений конфигурации в SCM, поэтому у вас есть, по крайней мере, постоянная запись. Это глобально, во всех проектах вашего экземпляра Jenkins.
Также существует плагин конфигурации конфигурации заданий, в котором хранится история конфигурации в файловой системе.
Напишите конфигурацию Дженкинса из SCM
Проект создатель проекта Jenkins, который вы упомянули, позволяет проверять изменения конфигурации в SCM и применять их к вашему экземпляру Jenkins. Опять же, это во всех проектах вашего экземпляра Jenkins.
Напишите конфигурацию Дженкинса из другого задания
Вы можете использовать Job DSL Plugin с репо сценариев groovy. Затем Дженкинс опросит это репо, выполняет сценарии groovy, которые создают конфигурации заданий.
Обсуждение
Проблема 996 (теперь закрыта) обсуждает это, и это также обсуждалось в списке рассылки: "Отслеживание изменений конфигурации Хадсона" и "сохранить конфигурацию hudson в svn" .