Назад | Перейти на главную страницу

Предварительно протестированная фиксация с Дженкинсом?

Я получил запрос от человека наверху, чтобы настроить Jenkins для предтестированной фиксации (через сборку в Jenkins, если все модульные тесты и другие проходят, затем зафиксируйте его и создайте dist). Здесь мы используем svn.

Кто-нибудь понимает, как это можно сделать с Дженкинсом? Я практически не нахожу информации об этом.

Я предполагаю, что «человек наверху» нацелен на главную ветку / магистраль, которая всегда находится в готовом к выпуску состоянии, отсюда и требование предварительного тестирования. Это по сути сложно с централизованной системой контроля версий, такой как Subversion, и, скорее всего, будет включать в себя какое-то автоматическое жонглирование ветками и слияние.

Я лично использую git вместе с Gerrit (http://code.google.com/p/gerrit/), инструмент проверки кода совместно с Jenkins. Разработчики берут исходную ветку, но переходят к «промежуточному репозиторию git», организованному Герритом. Геррит, в свою очередь, отреагирует, запустив задание jenkins build для изменения. Если все тесты пройдены, Геррит принимает изменение и объединяет его в главную ветку.

Извините за это, но программное обеспечение для контроля версий вы используете не так. У вас есть полная история на сервере, независимо от того, что вы делаете на клиенте. Вы можете отменить любое изменение, включая удаление всего. Передача только полностью протестированного, проверенного в боях кода для контроля версий не дает вам абсолютно никаких преимуществ от использования контроля версий.

Вы можете сделать следующее: отметить одну ветку как стабильную (это должно быть либо /trunk или /braches/current-stable, Я бы посоветовал последнее), пусть разработчики фиксируют все остальное. Настройте Jenkins для тестирования /trunk и объединить коммиты из trunk к current-stable только когда они проходят тесты сборки.

Вы также можете использовать Плагин Svn Revert в Дженкинсе.

Используя это, он откатывает фиксации, что делает сборку нестабильной, что устраняет необходимость в «предварительно протестированной фиксации».

(Я автор плагина).