Jenkins для начинающих: что это, зачем нужен и как его установить
03 сент 2024
Раньше программистам приходилось записывать небольшие фрагменты кода на перфокарты и иногда целыми «партиями» возить их в офис, чтобы собирать все части вручную для выполнения на компьютере. Это ощутимо замедляло и усложняло процесс создания любого ПО.

Сегодня разработчики могут собирать, обновлять, тестировать и развёртывать программы автоматически, а затем почти мгновенно доставлять их пользователям. В большинстве случаев это возможно благодаря системам непрерывной разработки (CI/CD), одной из которых является Jenkins. Что собой представляет инструмент и как его устанавливать, подробнее расскажем в этом материале.
Что такое CI/CD
Функции Jenkins основаны на концепции непрерывной разработки, которая позволяет обновлять программу на любом этапе программирования. Это прямая противоположность итеративного метода, где сначала создаётся рабочий вариант ПО, а уже потом анализируется и выпускается.
К методу непрерывной разработки относятся:
- CI (continuous integration). Означает непрерывную интеграцию, где изменения в коде автоматически вливаются в основную ветку ПО.
- CD (continuous delivery). Непрерывная доставка, при которой все новшества программы автоматически разворачиваются на тестовых или рабочих серверах без лишнего участия разработчиков.
Чаще всего эти два термина применяются вместе и работают как единая методология CI/CD, в которую входит:
- Сборка. Программист разрабатывает и интегрирует код в базовый продукт в репозитории через инструменты CI.
- Тестирование. Тестировщики автоматически или вручную проверяют работоспособность решения. Если есть ошибки, результат направляется на доработку.
- Релиз. После всех доработок утверждается финальная версия и публикуется на продакшен-серверах для конечных пользователей.
- Анализ отзывов и доработка. Клиенты оценивают программу и оставляют о ней свои отзывы. На основании этой информации формируются новые задачи для программистов, и процесс запускается заново.
Преимущество метода в том, что дорабатывать ПО и показывать его пользователям можно, не дожидаясь окончательной версии программы. С другой стороны, для полноценной работы нужна большая команда тестировщиков и DevOps-специалистов — это может сильно ударить по бюджету маленьких организаций.

Что такое Jenkins и какие у него особенности
Jenkins — это система потоковой сборки для автоматизации всех видов задач, связанных с созданием, тестированием, доставкой или развёртыванием программного обеспечения.
При этом Jenkins — не просто сервер непрерывной интеграции, а полноценный фреймворк для создания CI/CD-систем и других автоматизированных процессов разработки. Всё благодаря гибкой настройке программы, которая включает:
- Модульность. Модульная архитектура позволяет расширять функциональность Jenkins с помощью плагинов и адаптировать работу программы под конкретные задачи и процессы разработки.
- Масштабируемость. Jenkins постоянно развивается благодаря открытой архитектуре и обширному сообществу. Разработчики могут создавать для него собственные плагины и интеграции, тем самым адаптируя программу к новым требованиям и технологиям. Также это позволяет добавлять слейв-узлы, тем самым увеличивая общую производительность ПО.
- Высокую совместимость. Благодаря большой библиотеке плагинов Jenkins легко интегрируется с различными инструментами разработки, системами управления версиями, облачными платформами и другими сервисами.
К примеру, с помощью плагинов Jenkins можно интегрировать с API-платформой МТС Exolve, через которую программисты получают автоматические SMS о статусе сборки ПО, данные об ошибках в коде, о завершении определённых этапов разработки и прочих событиях. Так специалисты смогут быстрее получать актуальную информацию о ходе своих проектов и экономить время для других задач.
Как работает Jenkins
Даже основные возможности Jenkins, по сути, являются плагинами, каждый из которых курирует различные этапы работы программы — от начальной сборки до завершающего развёртывания. Такой набор изначально встроен в программу и называется пайплайном. При этом дополнительные модули легко загрузить из магазина программы.
Фреймворк Jenkins функционирует в распределённой архитектуре: мастер-сервер (контроллер) координирует процессы и делегирует задачи, а вспомогательные слейв-серверы — агенты разгружают контроллер и выполняют поставленные им команды.
Как правило, для одного проекта задействуется несколько агентов, которые решают различные задачи по сборке, тестированию, проверке кода, развёртыванию приложения и т. д. Технически на начальных этапах такую разработку можно вести и на одном сервере, но, если он выйдет из строя, проблемы появятся у всех — от программистов до конечных потребителей.
В целом у фреймворка для непрерывной разработки Jenkins множество преимуществ:
- Простая настройка. Jenkins содержит исполняемые файлы, которые легко устанавливаются на различные операционные системы вроде Windows и Mac. Так как это автономное решение на базе Java, его настройка занимает всего пять минут.
- Открытый исходный код. Принцип Open Source позволяет работать в программе бесплатно. Кроме того, сообщество Jenkins предлагает огромную библиотеку учебных пособий, кейсов и другой информации для программирования.
- Большой выбор плагинов. В Jenkins насчитывается более 2000 дополнительных модулей для управления инфраструктурой, анализа, тестирования, интеграций и других задач разработки.
Основной минус Jenkins — его сложность. Программа рассчитана на профессиональных разработчиков, поэтому начинающим пользователям потребуется время на освоение.
Установка Jenkins
Перед инсталляцией необходимо подготовить соответствующую среду выполнения. Для этого нужны:
- Компьютер, сервер или виртуальная машина с подходящей операционной системой. Оборудование должно иметь минимум 256 МБ оперативной памяти и 1 ГБ свободного места на диске (для контейнера Docker — от 10 ГБ).
- Установленный Java Development Kit (версия 8 и выше). Это связано с тем, что Jenkins основан на Java-технологии.
Как установить Jenkins на Windows
Для установки софта нужно выполнить несколько простых шагов:
- Переходим на сайт Jenkins и загружаем с него установщик для Windows. Для скачивания может понадобиться несколько минут.
- Запускаем полученный файл, выбираем установочный путь для программы и нажимаем Next.
- В поле Local Type выбираем вариант Run service as LocalSystem и переходим на следующий этап установки.
- В графе Port Number оставляем значение по умолчанию — 8080. Затем выбираем Test Port — начнётся тестирование порта.
- После окончания проверки появится ещё одно поле для ввода — добавляем в него путь к своему JDK.
- Далее можно будет выбрать дополнительные модули — здесь выставляем дефолтные настройки.
- Затем выбираем опцию Install, ждём окончания установочного процесса и нажимаем на Finish.
На этом этапе Jenkins полностью установлен.
Как установить Jenkins на Ubuntu
Для начала необходимо подтвердить наличие JDK в системе. Вписываем в терминал:
java -versionЕсли Java присутствует, в интерфейсе появится версия пакета этой программы. Затем можно начать инсталляцию:
Сначала необходимо получить и добавить в Ubuntu ключ шифрования GPG. Вводим в терминал:

Импортируем URL официального репозитория Jenkins в список пакетов apt в Ubuntu:

Проводим обновление пакетов ещё раз:
sudo apt updateОкончательно устанавливаем Jenkins в систему:
sudo apt install jenkinsПо завершении инсталляции запускаем программу:
sudo systemctl start jenkinsОценить статус работы Jenkins можно через команду:
sudo service jenkins statusЕсли программа активирована, появится ярко-зелёная надпись active (running).
Также перед настройкой и работой в Jenkins нужно сконфигурировать брандмауэр. Открываем SSH:
sudo ufw allow OpenSSHПосле этого активируем брандмауэр:
sudo ufw enableРазрешим доступ к порту 8080, который Jenkins использует по дефолту, и вводим в терминал:
sudo ufw allow 8080Нужно убедиться, что все настройки учтены брандмауэром. Добавляем команду:
sudo ufw statusЕсли в графе Action значится ALLOW, а в графе From — Anywhere, то в фаерволе открылся доступ к Jenkins.
Настройка Jenkins
Для адаптации Jenkins к конкретным требованиям проекта нужно задать настройки. Если программа предназначена для Windows, следует открыть в браузере http://localhost:8080. Если Jenkins стоит на сервере, то вместо localhost используем его IP-адрес — например, http://192.168.1.100:8080. Это позволит зайти в интерфейс программы.
Остальные этапы настройки Jenkins для разных ОС выглядят практически идентично. Рассмотрим алгоритм на примере Windows:
- После загрузки страницы мы получим возможность разблокировать программу: нужно ввести пароль в свободное поле. При этом адрес нахождения пароля для тех или иных ОС будет отличаться, но это единственное расхождение в настройке в разных системах.
- Вносим в соответствующую графу нужный пароль и выбираем «Продолжить».
- Программа предложит установить необходимые плагины. Можно выбрать вариант по умолчанию или добавить модули самостоятельно. Выбираем первый вариант — его вполне достаточно для базовой настройки Jenkins.
- После загрузки плагинов откроется окно для ввода данных. Заполняем имя пользователя, пароль, Ф. И. О. и email.
- Следующий шаг: настройка URL-адреса для системы. Здесь можно оставить дефолтную версию или назначить собственный вариант.
На этом настройка программы полностью завершена. Теперь можно выбрать Start using Jenkins и перейти в интерфейс системы.
Заключение
Jenkins — удобный инструмент для автоматизации сборки, тестирования и развёртывания ПО. Система не только основана на принципах CI/CD, но и является полноценным фреймворком: её легко настроить, масштабировать, а также интегрировать со множеством различных сервисов.
При этом открытый исходный код Jenkins не только предлагает бесплатный доступ ко всем функциям программы, но и обеспечивает поддержку обширного сообщества разработчиков.