Поиск по сайту:

Как создать сервер сборки Jenkins


Непрерывная интеграция и непрерывное развертывание — два основных принципа DevOps. Автоматизация процессов сборки и развертывания позволяет командам разработчиков программного обеспечения чаще вносить небольшие изменения.

Автоматизация ограничивает количество ошибок из-за кода, написанного другими членами команды, поскольку код был проверен. Для достижения этого преимущества необходима высокая степень автоматизации и оркестровки. Входит Дженкинс.

Jenkins — один из самых популярных и гибких инструментов оркестровки с открытым исходным кодом. Независимо от того, работаете ли вы над устаревшим монолитом или микросервисами, локально или в облаке, Jenkins может помочь.

В этой статье, чтобы понять, как работают серверы сборки Jenkins, мы рассмотрим основы того, как запустить сервер Jenkins. Мы собираемся опросить локальный репозиторий Git и запустить некоторый код PowerShell при внесении изменений в этот репозиторий, чтобы получить представление о рабочем процессе.

Предпосылки

В этой статье мы познакомимся. Если вы хотите продолжить, убедитесь, что у вас есть несколько предварительных условий:

  • Устройство Mac, Linux или Windows с:
    • Java 1.7 или выше (Jenkins работает на Java)
    • Менеджер пакетов (Chocolatey, Homebrew, apt, yum и т. д.)
    • Веб-браузер (лучше всего использовать Chrome, Firefox или любой другой браузер на базе Chromium)
    • Git (можно установить с помощью диспетчера пакетов)

    Установка Дженкинса

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

    В Windows вы, скорее всего, используете Chocolatey, в MacOS  Homebrew, а в Linux это зависит от того, какой дистрибутив Linux вы используете.

    После того, как вы установили Jenkins, вы можете получить к нему доступ прямо из веб-браузера. Откройте браузер и перейдите к [localhost:8080](http://localhost:8080) , и вы увидите, что Jenkins запускается или ожидает ввода начального пароля.

    localhost относится к службе Jenkins, которая сейчас работает на вашем устройстве, а порт 8080 является портом пользовательского интерфейса Jenkins по умолчанию.

    Поиск пароля администратора

    На первой странице Дженкинс записывает одноразовый пароль в файл, а затем сообщает вам местоположение файла. Этот процесс гарантирует, что у вас есть доступ к файловой системе системы, на которой вы его установили.

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

    Установка начальных плагинов

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

    Настройка пользователя-администратора

    Через несколько минут вам нужно настроить первого пользователя-администратора Jenkins. Это можно изменить позже, но важно выбрать тот, который вы запомните хотя бы в процессе установки, как показано ниже.

    Определение URL-адреса Дженкинса

    Далее вас попросят настроить URL-адрес Jenkins. Этот процесс не выполняет регистрацию DNS или домена и не влияет на ваш доступ к Jenkins. Не нужно беспокоиться об URL-адресе этого пошагового руководства. Но URL-адрес будет использоваться во всех веб-перехватчиках и переменных среды, которые создает Jenkins.

    Если это для производственной системы, вы можете подумать о покупке домена и предоставлении Дженкинсу субдомена для использования. (Например: jenkins.mydomain.com)

    После того, как вы нажмете Сохранить и Готово, вы попадете на пустую страницу Jenkins, как показано ниже.

    Установка плагинов

    Теперь, когда Jenkins запущен и работает, вы должны кое-что знать об этом: из коробки Jenkins мало что делает. Чтобы получить максимальную отдачу от Jenkins, вы должны установить плагины.

    Плагины — это пакеты с открытым исходным кодом, которые взаимодействуют с другими программами и службами в Jenkins.

    Вы можете найти плагины для чего угодно: от дополнительных систем контроля версий до облачных провайдеров и Чака Норриса.

    PowerShell является частью требований этой статьи. Таким образом, вам необходимо установить плагин PowerShell и, возможно, плагин Чака Норриса.

    Чак Норрис не ломает сборки, недостойные сборки останавливаются в его присутствии.

    Нажмите Управление Jenkins в меню слева, затем найдите значок фрагмента головоломки с надписью Управление подключаемыми модулями. Затем на вкладке Доступно вы можете просмотреть и посмотреть, что доступно.

    Установите флажок рядом с подключаемым модулем PowerShell и нажмите Установить без перезагрузки.

    Настройка репозитория Git

    Следующее, что нам нужно сделать, это настроить наш репозиторий git. Дженкинс опрашивает этот репозиторий на наличие изменений для запуска нашей сборки. Получите URL-адрес репозитория и клонируйте его, но сохраните URL-адрес, поскольку он понадобится вам на следующем шаге.

    Вернувшись в Jenkins, выберите Новый элемент в левом верхнем углу, затем нажмите Проект Freestyle и дайте ему имя. Хорошее имя должно быть уникальным для Jenkins, но также быстро описывать, какую задачу он выполняет в каком проекте.

    Следующая страница, на которую вы попадете, — это страница Настройка проекта. Это может показаться ошеломляющим, но не беспокойтесь об этом прямо сейчас. Даже в производственной среде вы не будете использовать большинство из них, потому что, хотя у каждого из этих вариантов есть вариант использования для кого-то, не все они подходят для вашего варианта использования.

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

    Управление исходным кодом

    Нажмите Git, затем введите URL-адрес репозитория в поле URL-адрес репозитория. Остальные настройки оставьте по умолчанию. Это скажет Дженкинсу опросить этот репозиторий на предмет любых изменений в основной ветке, поскольку это настройка по умолчанию.

    Триггеры сборки

    Выберите Опрос SCM, затем введите * * * * * в поле Расписание. Это таймер cron, который каждую минуту опрашивает изменения в этом репозитории.

    Строить

    В раскрывающемся списке Добавить этап сборки выберите Windows PowerShell и введите Get-ChildItem $ENV:WORKSPACE в Command. поле. Эта команда использует встроенную переменную Jenkins (которая вскоре будет рассмотрена более подробно) для вывода списка файлов из репозитория, который вы просматриваете.

    (Необязательно) Действия после сборки

    Если вы установили подключаемый модуль Chuck Norris ранее, выберите Активировать Chuck Norris в раскрывающемся списке Добавить шаг после сборки, чтобы добавить к заданию визуальный эффект подключаемого модуля Chuck Norris. Дженкинс на самом деле не активирует Чака Норриса, Дженкинс просто ищет его одобрения.

    Запуск сборки

    Все сборки Jenkins выполняются в рабочей области, которая представляет собой каталог на сервере Jenkins. Тестовый проект, который вы определили выше, клонирует репозиторий из URL-адреса git в эту рабочую область, а затем выполняет этапы сборки как скрипт .ps1.

    Раньше, когда вы вводили $ENV:WORKSPACE на этапе сборки, вы, возможно, задавались вопросом, откуда берется эта переменная. Jenkins предоставляет некоторую переменную среды во время выполнения каждого задания, включая $ENV:WORKSPACE, которая указывает путь к клонированному репозиторию.

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

    Для последней проверки работоспособности, чтобы убедиться, что наше задание выполнено успешно, щелкните номер сборки в разделе История сборки. На этой странице показаны некоторые подробности, такие как изменения, которые запустили сборку, что такое идентификатор фиксации git и какой пользователь инициировал эти фиксации.

    Чтобы получить дополнительные сведения, нажмите Вывод в консоль в левой части экрана, и вы увидите каждый шаг командной строки, предпринятый Дженкинсом при запуске сборки.

    Поскольку эта сборка также включала в себя Get-ChildItem в рабочей области Jenkins, выходные данные этого командлета в нижней части вывода консоли показаны так же, как показано ниже.

    Краткое содержание

    Теперь, когда вы знаете, как настроить сервер Jenkins, установить подключаемые модули и запустить задание, вам следует взглянуть на доступные подключаемые модули Jenkins на упомянутой ранее странице Управление подключаемыми модулями. Не все из них будут соответствовать вашим потребностям, но все они соответствуют некоторым потребностям, и о них, возможно, стоит знать.

    Если у вас GitHub Enterprise, вы можете подключить свою учетную запись GitHub к Jenkins, чтобы выполнять такие действия, как проверка состояния перед слиянием с мастером, автоматизация развертывания из исходного кода и запуск конвейера непрерывной интеграции для любых новых изменений в коде. Веселиться!