Глава 1 Кто такой Дженкинс?
Jenkins — это масштабируемый движок непрерывной интеграции.
В основном используется для:
- Непрерывно и автоматически создавайте и тестируйте программные проекты.
- Я контролирую некоторые задачи, которые выполняются регулярно.
Особенности, которыми обладает Дженкинс, включают:
- Легко установить — просто развернуть jenkins.war в контейнер сервлет без поддержки базы данных.
- l Легко настроить — все конфигурации реализуются через веб-интерфейс, предоставляемый им.
- l Интегрированный RSS/E-mail публикует результаты сборки через RSS или уведомления по электронной почте после завершения сборки.
- Я генерирую отчёты JUnit/TestNG.
- l Поддержка распределённой сборки Jenkins позволяет одновременно собирать и тестировать несколько машин.
- l Распознавание файлов: Jenkins может отслеживать, какие jar-файлы генерируются каким билдом, какая версия jar используется в какой сборке и так далее.
- l Поддержка плагинов: поддерживаются расширения, так что вы можете разрабатывать инструменты, подходящие для вашей команды.
1 Происхождение Дженкинса
Непрерывная интеграция (CI) стала обычной практикой для многих команд разработчиков, чтобы сосредоточиться на обеспечении качества кода на протяжении всего жизненного цикла разработки. Это практика, направленная на упрощение и укрепление процесса создания программного обеспечения. И это может помочь вашей команде разработчиков справляться с такими задачами, как:
- l Автоматизация сборки программного обеспечения: После завершения конфигурации система CI создаёт целевое программное обеспечение в соответствии с заранее установленным графиком или для конкретного события.
- l Создание устойчивых автоматизированных проверок: система CI может постоянно получать новый или изменённый исходный код регистрации, то есть когда команде разработчиков ПО необходимо периодически проверять новый или изменённый код, система CI будет постоянно подтверждать, нарушил ли новый код успешную сборку оригинального ПО. Это сокращает время и усилия, тратящие разработчики на изменения в их взаимозависимом коде (если говорить прямо, хе-хе).
- l Построить устойчивое автоматизированное тестирование: создать расширенную часть проверки, выполнить заранее определённый набор правил тестирования после создания и отправить уведомления (по электронной почте, RSS и т.д.) соответствующим сторонам после завершения.
- l Автоматизация последующих процессов после генерации: При успешном завершении автоматизированных проверок и тестов могут потребоваться дополнительные задачи в цикле сборки программного обеспечения, такие как генерация документации, упаковка программного обеспечения и развертывание компонентов в условиях выполнения или репозиторий программного обеспечения. Это позволяет быстрее делать компоненты доступными пользователям.
- Минимальные требования для развертывания системы CI — это репозиторий доступного исходного кода и проект с скриптами сборки.
Следующая диаграмма обобщает основную структуру системы CI:
Компоненты системы работают в следующем порядке:
1. Разработчик проверяет код в репозитории исходного кода.
2. Система CI создаёт отдельное рабочее пространство для каждого проекта. Когда новая сборка заранее задана или запрашивается, она хранит исходный код из репозитория исходного кода в соответствующее рабочее пространство.
3. Система CI выполнит процесс сборки в соответствующем рабочем пространстве.
4. (Если конфигурация существует) После завершения сборки система CI проводит определённый набор тестов в новом артефакте. Запускайте уведомления (по электронной почте, RSS и т.д.) соответствующим сторонам после завершения.
5. (Конфигурация, если присутствует) Если сборка успешна, этот артефакт упаковывается и переносится в цель развертывания (например, сервер приложений) или сохраняется как новая версия в программном репозитории. Репозиторий программного обеспечения может быть частью системы CI или внешнего репозитория, например, файлового сервера или сайта, таких как Java.net, SourceForge и др.
6. Система CI обычно инициирует соответствующие действия на основе запросов, таких как мгновенные сборки, генерация отчетов или извлечение некоторых созданных артефактов.
Jenkins — одна из таких систем CI. Ранее известный как Хадсон.
Вот несколько причин использовать Jenkins:
- l Это самый простой для установки и настройки среди всех продуктов CI.
- l Благодаря веб-доступу пользовательский интерфейс очень дружелюбен, интуитивно понятен и гибок, а во многих случаях обеспечивает мгновенную обратную связь от AJAX.
- l Jenkins разрабатывается на Java (что очень полезно для разработчиков на Java), но это не ограничивается созданием программного обеспечения на базе Java.
- У Jenkins большое количество плагинов. Эти плагины значительно расширяют функциональность Jenkins; Все они с открытым исходным кодом, и ими можно установить и управлять напрямую через веб-интерфейс.
1.1 Цели Дженкинса Основная цель Дженкинса — отслеживать процесс разработки программного обеспечения и быстро выявлять проблемы. Таким образом, он может гарантировать, что разработчики и связанный персонал экономят время и усилия, а также повышают эффективность разработки.
Основная роль CI-системы на протяжении всего процесса разработки — это управление: когда система обнаруживает изменение в репозитории кода, она делегирует задачу запуска сборки непосредственно процессу сборки. Если сборка не работает, система CI уведомляет соответствующего человека и продолжает мониторинг репозитория. Её персонажи кажутся пассивными; Но это быстро отражает проблему.
В частности, он обладает следующими преимуществами:
- l Дженкинс: Все конфигурации можно выполнять на веб-интерфейсе. Некоторые конфигурации, такие как MAVEN_HOME и email, требуют настройки только один раз, и все проекты можно использовать. Конечно, его также можно настроить, изменяя XML.
- l Модули, поддерживающие Maven, Jenkins оптимизировал Maven, чтобы он мог автоматически распознавать модули, и каждый модуль может быть настроен как задача. Довольно гибкие.
- l Агрегация тестовых отчётов, отчёты по всем модулям агрегируются вместе, и результаты очевидны с первого взгляда, с использованием других CI, что практически невозможно.
- Отпечаток артефакта, результат каждой сборки, хорошо управляется автоматически, и его можно легко просматривать и скачивать без какой-либо настройки.
|