Статьи

Введение в Jenkins: сервер непрерывной интеграции с открытым исходным кодом

Конечный продукт
Что вы будете создавать

Это первая из двух частей серии о Дженкинс . Вторая часть будет написана Яном Лолларом, потому что он имеет лучшее изображение профиля инструктора из всех авторов Tuts. Он также написал более раннюю версию «Настройка непрерывной интеграции и непрерывного развертывания с Jenkins (Tuts +)», которую вы также можете прочитать. Напоминаю, что я участвую в обсуждениях ниже. Если у вас есть вопрос или предложение по теме, пожалуйста, оставьте комментарий ниже. Вы также можете написать мне @reifman , написать мне по электронной почте или же написать в твиттер Ян .

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

В первой части этого руководства я расскажу, как установить Jenkins и как начать. Во второй части Йен углубится в подробности, особенно сосредоточившись на использовании плагина рабочего процесса Jenkins . Более подробная информация об этом доступна на веб-сайте документации CloudBees .

Я собираюсь рассказать вам об установке Jenkins на инстанс Ubuntu 14.04 в Digital Ocean . Как только вы зарегистрируетесь или войдете в свою учетную запись Digital Ocean, нам нужно будет создать новую каплю для нашего сервера Jenkins.

Нажмите кнопку Create Droplet , чтобы начать. Я использую jenkins.lookahead.io в качестве имени хоста. Мы можем использовать самый маленький экземпляр капельки из $ 5 / мес. и 512 МБ .

Jenkins Digital Ocean Создать капельку

Вы можете использовать тот регион, который вам ближе:

Jenkins Digital Ocean Создать область выделения капель

Затем выберите образ Ubuntu 14.04 и нажмите « Создать каплю» :

Дженкинс Цифровой Океан Создать Распределение Выбора Капли

Примерно через минуту вы будете перенаправлены на страницу конфигурации вашего дроплета с IP-адресом, например 45.55.220.200:

Создана цифровая океаническая капелька Jenkins

Вы также получите электронное письмо с вашими учетными данными:

Дженкинс Цифровой Океанский Создание Капли Электронная почта

Затем перейдите к регистратору своего домена и настройте запись DNS A для своего имени хоста, чтобы он указывал на указанный IP-адрес:

Jenkins DNS A Конфигурация записи

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

1
ssh root@jenkins.lookahead.io

Затем создайте пользователя-администратора в группе sudo:

1
2
adduser admin
usermod -a -G sudo admin

Выйдите из системы и войдите снова с правами администратора:

1
ssh admin@jenkins.lookahead.io

Чтобы обновить Ubuntu с помощью исходных списков Jenkins, введите следующие команды:

1
2
3
sudo wget -q -O — http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key |
sudo sh -c ‘echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list’
sudo apt-get update

Чтобы правильно установить Jenkins, я успешно обновил сервер и предварительно установил git:

1
2
3
4
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install git
sudo apt-get install jenkins

Я также должен был перезагрузиться и первоначально вручную запустить сервис Jenkins. Ваш пробег может варьироваться.

1
2
sudo reboot
sudo service jenkins start

Затем перейдите на сервер, используя порт 8080, например, http://jenkins.lookahead.io:8080 , и вы должны увидеть экран запуска Jenkins:

Добро пожаловать в Дженкинс

Теперь давайте пройдемся по пользовательскому интерфейсу Jenkins. В левой части страницы вы увидите навигационные меню, например, Новый элемент, Люди, История сборки, Управление Дженкинсом и Учетные данные . Существуют также панели « Очередь сборки» и « Состояние исполнителя сборки» .

Изначально Дженкинс совершенно неуверен. Давайте настроим его Global Security с помощью опции меню боковой панели Manage Jenkins :

Дженкинс Управление Дженкинс

Нажмите Настроить глобальную безопасность :

Дженкинс настраивает глобальную безопасность

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

Jenkins Зарегистрироваться

Затем вернитесь на страницу « Настройка глобальной безопасности» и снимите флажок « Разрешить пользователям регистрироваться» :

Это предотвратит создание новых учетных записей неавторизованными посетителями.

Вы можете управлять учетными записями в системе из меню « Люди» в левой боковой панели:

Список людей Дженкинс

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

Jenkins People Меню и страница с подробностями

Поскольку в какой-то момент мы, вероятно, захотим интегрировать репозитории GitHub в наш процесс сборки, вот как вы можете установить плагин GitHub.

Нажмите ссылку « Управление Jenkins» , а затем ссылку « Управление плагинами» . Перейдите на вкладку « Доступные » и найдите плагин GitHub .

Вкладка «Доступные плагины» Jenkins

В моей установке я обнаружил, что мне пришлось вручную загрузить плагин github.hpi из репозитория кода Jenkins, а затем вручную установить плагин GitHub.

Дженкинс репозиторий плагин GitHub

В диспетчере плагинов Jenkins перейдите на вкладку « Дополнительно »:

Jenkins Plugins Advanced

Прокрутите вниз до Upload Plugin и выберите файл github.hpi :

Jenkins Загрузить плагин

Вы должны увидеть экран установки плагина следующим образом:

Статус установщика плагинов Jenkins

Теперь мы создадим пример проекта, который объединяет простую команду GitHub Pull и команду оболочки. На главной странице Jenkins нажмите New Item :

Дженкинс новый предмет

Напечатайте в Shell Test и выберите Freestyle Project :

Дженкинс Фристайл Проект

После того, как вы нажмете ОК , вы можете настроить проект дальше. Например, я использую репозиторий Йена Hello-Jenkins из раздела Настройка непрерывной интеграции и непрерывного развертывания с Jenkins (Tuts +) :

Дженкинс проект Github репозиторий Pull

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

Параметры сборки проекта Jenkins и команда Shell

После сохранения параметров вы увидите страницу проекта Jenkins, например Project Shell Test . С левой стороны есть меню для проекта. Если вы нажмете « Построить сейчас» , Дженкинс спланирует и построит ваш проект.

Страница проекта Дженкинс

Историю сборки можно увидеть на левой панели. Если щелкнуть одну из историй сборки, вы увидите результаты сборки Jenkins:

Страница сборки проекта Дженкинс

Нажмите Console Output, чтобы увидеть полные результаты. Вы можете увидеть результаты команды git pull и команды uptime:

Вывод консоли Jenkins Project Build

Теперь у вас есть базовое руководство по работе и проектам Jenkins.

Если вы хотите следовать более подробному видео-уроку, посмотрите Непрерывную интеграцию для проектов PHP с использованием Jenkins, Composer, PHPUnit, BitBucket и Digital Ocean :

Вы также можете ознакомиться с более ранним руководством Йенкинса Йена: Настройка непрерывной интеграции и непрерывного развертывания с Jenkins (Tuts +) . Документация на веб-сайте Jenkins и вики также довольно подробны.

Далее Йен проведет вас через плагин Jenkins Workflow . Если вторая часть еще не доступна, ознакомьтесь с более ранним учебным пособием Иана « Настройка непрерывной интеграции и непрерывного развертывания с Jenkins (Tuts +)» и веб-сайтом документации по плагину рабочего процесса CloudBees .

Пожалуйста, не стесняйтесь оставлять свои вопросы и комментарии ниже. Вы также можете написать мне @reifman , написать мне по электронной почте или же написать в твиттер Ян . Вы также можете просмотреть наши страницы инструкторов Tuts +, чтобы найти другие уроки от меня, Джеффа Райфмана и Яна Лоллара .