Разбираемся с Concourse CI::Журнал СА 3.2017
www.samag.ru
Льготная подписка для студентов      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

Jobsora

ЭКСПЕРТНАЯ СЕССИЯ 2019


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 1826
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 1887
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 1446
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 1066
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1636
Комментарии: 1
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Разбираемся с Concourse CI

Архив номеров / 2017 / Выпуск №3 (172) / Разбираемся с Concourse CI

Рубрика: Администрирование /  DevOps

Сергей Яремчук СЕРГЕЙ ЯРЕМЧУК, автор более 1000 статей и шести книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС, yaremchuk@samag.ru

Разбираемся с Concourse CI

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

Идея непрерывной интеграции (Continuous Integration), в общем, далеко уже не нова. Автоматическая сборка проектов после обновления кода – это уже фактически стандартная процедура, позволяющая с ходу посмотреть и протестировать разрабатываемый продукт, сразу увидеть (и показать остальным участникам) ошибки и в итоге быстро найти иустранить проблему. С появлением Docker они стали не менее актуальны и востребованы. Самих систем CI на сегодня можно насчитать уже десятки: Jenkins, Jetbrains TeamCity, Atlassian Bamboo, Bitbucket Pipelines и так далее. Проблема в том, что они достаточно сложны, большинство из них коммерческие и стоят определенную сумму (Bitbucket Pipelines бесплатен для небольших команд) и, главное, требуют специалиста и времени для настройки и постоянной подстройки, чего обычно не могут себе позволить в небольших проектах и тем более при индивидуальной разработке.

Concourse CI [1] позволяет легко реализовать непрерывную интеграцию, при этом сам он практически не требует времени на развертывание и изучение. Основная идея проекта – этопростота, и весь процесс можно освоить буквально за несколько часов. Научиться строить Docker-образы при изменении кода в Git можно буквально за пару часов. Затем этапроцедура будет выполняться автоматически, не требуя внимания. Конечно, возможности далеко не ограничены докером и git. Поддерживаются интеграция с AWS S3, отправка уведомлений по email и Hipchat, выполнение команд и многое другое.

Базируется Concourse CI на трех понятиях: задачи (tasks), ресурсы (resources) и задания (jobs). Задание описывает действия, которые будут запущены вручную или при изменении отслеживаемых ресурсов. Сами действия описываются в так называемом плане сборки. Это могут быть тесты, выполнение команд и/или сборка контейнера Docker. Под задачей понимается выполнение сценария в изолированной среде с указанными параметрами. В общем случае это любая команда, используемая при сборке контейнера. Задачи поумолчанию выполняются от имени непривилегированного пользователя, но, если нужно, можно дать необходимые права. Под ресурсом изначально подразумевается Git, хотя этоможет быть любой объект, состояние и версию которого можно отследить. Для выполнения нужного действия ресурсы и задания между собой связываются при помощи конвейера (pipelines). Все вместе эти компоненты позволяют смоделировать любую ситуацию, требуемую при сборке. Информация регистрируется, поэтому всегда можно посмотреть, кто чтоделал. Данные о pipelines и журналы работы сохраняются в PostgreSQL.

Для управления и ручного запуска заданий используется утилита Fly, для просмотра результатов и запуска заданий также используется веб-интерфейс.

Установка

Развернуть Concourse CI можно несколькими способами. Проект предоставляет бинарники для Linux, Mac OSX и Windows, готовые образы Docker и Vagrant. Последний вариант универсальный и позволяет поднять нужный сервис в считанные минуты, но, учитывая, что будут запущены две VM (одна для СУБД), потребует чуть больше ресурсов и нужен компьютер минимум с 8 ОЗУ. Поддерживается работа нескольких экземпляров в кластере, использующих одну базу.

Статью целиком читайте в журнале «Системный администратор», №3 за 2017 г. на страницах 29-33.

PDF-версию данного номера можно приобрести в нашем магазине.


  1. Сайт Concourse CI – http://concourse.ci.
  2. Ресурсы Concourse CI – https://concourse.ci/resource-types.html.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru