Мы собираем файлы cookie и применяемрекомендательные технологии

Jenkins и CI/CD: что это, как установить и настроить
Поддержка
Связаться с поддержкой
Личные кабинеты продуктов
ВОЙТИ
  • Разработка

Jenkins для начинающих: что это, зачем нужен и как его установить

4

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

Сегодня разработчики могут собирать, обновлять, тестировать и развёртывать программы автоматически, а затем почти мгновенно доставлять их пользователям. В большинстве случаев это возможно благодаря системам непрерывной разработки (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

Для установки софта нужно выполнить несколько простых шагов:

  1. Переходим на сайт Jenkins и загружаем с него установщик для Windows. Для скачивания может понадобиться несколько минут.

  2. Запускаем полученный файл, выбираем установочный путь для программы и нажимаем Next.

  3. В поле Local Type выбираем вариант Run service as LocalSystem и переходим на следующий этап установки.

  4. В графе Port Number оставляем значение по умолчанию — 8080. Затем выбираем Test Port — начнётся тестирование порта.

  5. После окончания проверки появится ещё одно поле для ввода — добавляем в него путь к своему JDK.

  6. Далее можно будет выбрать дополнительные модули — здесь выставляем дефолтные настройки.

  7. Затем выбираем опцию 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:

  1. После загрузки страницы мы получим возможность разблокировать программу: нужно ввести пароль в свободное поле. При этом адрес нахождения пароля для тех или иных ОС будет отличаться, но это единственное расхождение в настройке в разных системах.

  2. Вносим в соответствующую графу нужный пароль и выбираем «Продолжить».

  3. Программа предложит установить необходимые плагины. Можно выбрать вариант по умолчанию или добавить модули самостоятельно. Выбираем первый вариант — его вполне достаточно для базовой настройки Jenkins.

  4. После загрузки плагинов откроется окно для ввода данных. Заполняем имя пользователя, пароль, Ф. И. О. и email.

  5. Следующий шаг: настройка URL-адреса для системы. Здесь можно оставить дефолтную версию или назначить собственный вариант.

На этом настройка программы полностью завершена. Теперь можно выбрать Start using Jenkins и перейти в интерфейс системы.

Заключение

Jenkins — удобный инструмент для автоматизации сборки, тестирования и развёртывания ПО. Система не только основана на принципах CI/CD, но и является полноценным фреймворком: её легко настроить, масштабировать, а также интегрировать со множеством различных сервисов.

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

Оцените статью:
Предыдущая статья Следующая статья
Содержание статьи
Решения МТС Exolve
Все решения для отдела маркетинга
Подробнее
Все решения для отдела продаж
Подробнее
Карусель
Подробнее
Решения МТС Exolve
Все решения для отдела маркетинга
Подробнее
Все решения для отдела продаж
Подробнее
Карусель
Подробнее