Jenkins
Last updated
Was this helpful?
Last updated
Was this helpful?
- популярный CI-сервер.
CI - континиус интегрейшен, процесс сливания изменений в одну ветку и осуществление сборки, например, в случае питона - прогон тестов, сборка докер-контейнера, и т.д.
CI - это удобно, потому что разрабу достаточно сделать пуш в репу, CI-сервер при обнаружении коммита сам проведет сборку и деплой, а в случае неудачи пришлет письмо с ошибками.
Основы Jenkins можно посмотреть .
На офф сайте довольно , все без проблем встает.
После установки, Jenkins будет запушен на 8080 порту, и выглядит примерно так:
Для Jenkins’а создано куча плагинов, например:
Приведенные выше плагины должны быть установлены для прохождения туториала, установить их и другие можно в {jenkins-host-url}/pluginManager/
Примечание
{jenkins-host-url}
- адрес сервера, где запущен Jenkins, с указанием порта.
Item - описание процесса сборки.
Создание Item’а осушестляется в {jenkins-host-url}/view/all/newJob/
, тип можно оставить дефолтовым.
Сборка начинается с клонирования репозитория, первым делом, нужно его настроить.
В случае с публичным репозиторием достаточно указать адрес репозитория, для приватного репозитория необходимо также создать на сервере ssh-ключи для юзера jenkins:
В результате выполнения команд, получаем публичный ключ, который необходимо скопировать:
В настройках Bitbucket-репозитория в разделе Access Keys создаем новый ключ со скопированным содержимым.
Для того, чтобы уведомлять Jenkins о новых коммитах, в разделе Webhooks создаем хук на {jenkins-host-url}/bitbucket-hook/
.
Аналогичное делаем в Jenkins, для этого переходим в {jenkins-host-url}/credentials/store/system/domain/_/
, создаем Credentials с типом SSH Username with private key, и приватным ключом в ~/.ssh.
Возвращаемся в создание Item, созданную учетную запись добавляем в соответствующее поле в настройке репозитория.
Помимо указания репозитория, для сборки необходимо определить следующее:
Триггеры сборки - ставим флаг Build when a change is pushed to BitBucket для запуска сборки при коммите
Создание среды - здесь определяем настройки среды, такие как переменные окружения
Сборка - набор команд, успешное выполнение которых говорит об успешной сборке, примеры комманд - установка зависимостей, запуск тестов
Послесборочные операции - уведомление по почте, присвоение статуса сборки коммиту
После сохранения Item’а можем запустить сборку вручную или стригерить ее коммитом.
- интеграция с Bitbucket, включая триггер сборки при пуше
- отправка писем с помощью сторонних сервисов, типа Google SMTP
- для работы с переменными среды