LINUX.ORG.RU

Jenkins что такое?

 


1

3

Комрады всем доброго

Можете мне тупому объяснить своими словами какой функционал выполняет Jenkins, читал его описание но так до конца и не понял, в чем его профит в процессе разработки ПО.


Нужен для CI. Можно им, например, на каждый коммит автоматически прогонять тесты. Или компилировать/публиковать/что-там-ещё.

x3al ★★★★★
()

я познаю мир

издалека идешь

В самом общем варианте: Jenkins - это запускалка скриптов по событиям или по таймеру

Разумеется это не простая запускалка и не cron, а большой комбайн который оброс множеством разных финтифлюшек, плагинов и интеграций, и в основном используется для запуска автоматических тестов по событиям в VCS и для красивого представления результатов этих автотестов.

alpha ★★★★★
()

Если хочется подробностей про CI-сервисы, то лучше всего про них написано не у дженкинса (у него вообще нет ни одной нормальной доки, они скриншотики), а у buildbot.

Buildbot - это тоже ci система, только в «открытом» варианте, когда все внутренние компоненты описаны и объяснены. Суть та же, но понимания гораздо больше.

http://docs.buildbot.net/current/_images/overview.svg

Можно прочитать его manual а потом найти все те же компоненты во всех остальных CI.

alpha ★★★★★
()

Кричит LEEEEROOOOOOY JEEEENKINS и сагривает на себя дракончиков.

Postal_Dude
()

какой функционал выполняет Jenkins ... профит в процессе разработки ПО.

Выполняет «процессы» над «артефактами» по «событиям» в «окружении». Отраслевой страндарт, есть альтернативы. Почти умеет конфигурироваться мышкой. Кроссплатформенный

Обычно есть master-нода, которая рулит slave-нодами. Процессы инициализируются master (он же показывает веб-морду), выполняются на slave. В качестве последних могут выступать виртуальные машины с различными ОС, что позволяет выполнять сборку, развертывание и тесты на различных платформах паралельно. Последним шагом процесса может быть анализ результатов тестирования и отправка писем.

Событиями могут быть, например, коммиты в git, наступление полночи, завершение другого процесса или нажатие кнопки (с api хреновенько, но можно подергать по http при желании (хотя, наверное, есть соответсвующие плагины).

Плагинов много, разных. Устанавливаются либо в два клика, либо в два клика и изрядное рабочее время на решение косяков. Они (плагины) умеют как-раз таки собирать метрики, показывать красивые отчеты о тестировании, отправлять письма (или проверять почту), ходить по ssh, работать с СКВ, делать бекапы, и писаться под свои нужды с помощью java-разработчика.

имхо, основных полезностей две: 1) собирает и тестит автоматом (а в отдельных конторах разворачивает в продакшн средах) 2) Помнит зависимости и правила сборки для той библиотеки написаной кем-то уволившимся семь лет назад.

p.s.: Поскольку умеет в bash и python, может использоваться значительно шире, нежели создание ПО.

regme
()

cron с web-мордой.

cvv ★★★★★
()

это вебморда с проектами, которая умеет по эвенту или по требованию взять последний комит с мастера, собрать сборку, прогнать тесты и задеплоить на продакшен

kiotoze ★★★★
()
Ответ на: комментарий от no-such-file

Это сарказм или нет? Без смайликов в интернетах неразличимо.

invy ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.