CICD פֿאַר סטאַרטאַפּס: וואָס מכשירים זענען דאָרט און וואָס ניט בלויז גרויס און באַוווסט קאָמפּאַניעס נוצן זיי

Разработчики CICD-инструментов часто указывают в качестве клиентов крупные компании — Microsoft, Oculus, Red Hat, даже Ferrari и NASA. Казалось бы, что такие бренды работают только с дорогими системами, которые не сможет позволить себе условный стартап из пары разработчиков и дизайнера. Но значительная часть инструментов доступна и для небольших команд.

На что можно обратить внимание — расскажем далее.

CICD פֿאַר סטאַרטאַפּס: וואָס מכשירים זענען דאָרט און וואָס ניט בלויז גרויס און באַוווסט קאָמפּאַניעס נוצן זיי
פאָטאָ - Csaba Balazs — אַנספּלאַש

PHP Censor

CI-сервер с открытым исходным кодом, облегчающий сборку проектов на PHP. Это — форк проекта PHPCI. Сам PHPCI до сих пор развивается, однако не так активно, как прежде.

PHP Censor умеет работать с репозиториями GitHub, GitLab, Mercurial и несколькими другими. Для тестирования кода инструмент использует библиотеки Atoum, PHP Spec, Behat, Codeception. Вот пример файла конфигурации для первого случая:

test:
    atoum:
        args: "command line arguments go here"
        config: "path to config file"
        directory: "directory to run tests"
        executable: "path to atoum executable"

באטראכט, что PHP Censor неплохо подходит для развертывания небольших проектов, но хостить и настраивать его придется самостоятельно (self-hosted). Эту задачу упрощает довольно подробная документация — она есть на GitHub.

רעקס

Rex — это сокращение от Remote Execution. Систему разработал инженер Ференц Эрки (Ferenc Erki), чтобы автоматизировать процессы в дата-центре. Работа Rex строится на Perl-скриптах, но знать этот язык для взаимодействия с инструментом необязательно — большинство операций (например, копирование файлов) описано в библиотеке функций, а скрипты часто умещаются в десять строк. Вот пример для входа на нескольких серверах и запуска uptime:

use Rex -feature => ['1.3'];

user "my-user";
password "my-password";

group myservers => "mywebserver", "mymailserver", "myfileserver";

desc "Get the uptime of all servers";
task "uptime", group => "myservers", sub {
   my $output = run "uptime";
   say $output;
};

Начать свое знакомство с инструментом рекомендуем с официального гайда и E- בוך, которую в настоящий момент дописывают.

Open Build Service (OBS)

Это — платформа для оптимизации разработки дистрибутивов. Её код открыт и лежит в репозитории на גיטהוב. Автор инструмента — компания נאָוועלל. Она участвовала в разработке дистрибутива SuSE, а этот проект изначально назвала openSUSE Build Service. Неудивительно, что Open Build Service נוצן для сборки проектов в openSUSE, Tizen и VideoLAN. С инструментом также работают Dell, SGI и Intel. Но есть среди постоянных пользователей и небольшие стартапы. Специально для них авторы собрали (בלאַט 10) преднастроенный программный пакет. Сама система полностью бесплатна — потратить деньги придется только на хостинг или железный сервер для её развертки.

Но за все время существования инструмент так и не обзавелся широким сообществом. Хотя он был частью Linux Developer Network, отвечающей за стандартизацию открытой ОС. Бывает сложно найти на тематических форумах ответ на интересующий вопрос. Но один из резидентов Quora отметил, что в IRC-чате на Freenode участники сообщества отвечают довольно охотно. Проблема маленького комьюнити не глобальна, так как решение многих задач описано в официальной документации (PDF и EPUB). Там же קענען געפֿינען лучшие практики по работе с OBS (есть примеры и кейсы).

Rundeck

Открытый инструмент (גיטהוב), автоматизирующий задачи в дата-центре и облаке с помощью скриптов. За их выполнение отвечает специальный сервер сценариев. Можно сказать, что Rundeck — это «дочка» платформы для управления приложениями ControlTier. От неё Rundeck отделился в 2010 году и обзавелся новой функциональностью — например, интеграциями с Puppet, Chef, Git и Jenkins.

Системой пользуются в די וואַלט דיסניי פֿירמע, סאַלעספאָרסע и טיקקעטמאַסטער. Но проект подходит и для стартапов. Это связано с тем, что Rundeck распространяется по лицензии Apache v2.0. При этом инструмент довольно прост в использовании.

Резидент Reddit, который работал с Rundeck, זאגט, что решал большую часть трудностей самостоятельно. С этим ему помогли документация и электронные книги, опубликованные разработчиками.

Также в сети можно найти краткие руководства по настройке инструмента:

GoCD

Открытый инструмент (גיטהוב) автоматизирующий контроль версий кода. Его представила в 2007 году компания ThoughtWorks — тогда проект назывался Cruise.

С GoCD работают инженеры онлайн-ресурса по продаже автомобилей AutoTrader, генеалогический сервис Ancestry и поставщик кредитных карт Barclaycard. Однако четверть пользователей инструмента составляет малый бизнес.

Популярность сервиса среди стартапов можно объяснить его открытостью — он распространяется по лицензии Apache v2.0. При этом GoCD עס האט плагины для интеграции со сторонним ПО — системами авторизации и облачными решениями. Правда система довольно сложна в освоении — у нее большое число операторов и команд. Также некоторые пользователи жалуются на неудачный интерфейс и נייטיקייַט настраивать агенты для масштабирования.

CICD פֿאַר סטאַרטאַפּס: וואָס מכשירים זענען דאָרט און וואָס ניט בלויז גרויס און באַוווסט קאָמפּאַניעס נוצן זיי
פאָטאָ - Matt Wildbore — אַנספּלאַש

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

דזשענקינס

Jenkins широко известен и געהאלטן своеобразным стандартом в сфере CICD — конечно, без него эта подборка была бы не совсем полной. Инструмент появился в 2011 году, שיין ответвлением проекта Hudson от Oracle.

Сегодня с Jenkins אַרבעטן в NASA, Nintendo и других крупных организациях. Однако איבער 8% пользователей приходится на небольшие коллективы до десяти человек. Продукт полностью бесплатен и распространяется по лицензии MIT. Однако хостить и настраивать Jenkins придется самостоятельно — ему требуется выделенный сервер.

За все время существования инструмента вокруг него сформировалось обширное сообщество. Пользователи активно общаются в тредах на רעדדיט и Google גרופּעס. Материалы по Jenkins также регулярно появляются на Хабре. Если вы бы хотели стать частью комьюнити и начать работу с Jenkins, есть באַאַמטער דאַקיומענטיישאַן и справочник от разработчиков. Еще мы рекомендуем следующие гайды и книги:

У Jenkins есть несколько полезных сторонних проектов. Первый — плагин Configuration as Code. Он упрощает настройку Jenkins за счет удобочитаемых API, которые понятны даже администраторам без глубоких познаний инструмента. Второй — система דזשענקינס X для облака. Она ускоряет доставку приложений, разворачиваемых на масштабной ИТ-инфраструктуре за счет автоматизации некоторых рутинных задач.

בילדבאָט

Это — continuous integration система для автоматизации цикла сборки и тестирования приложений. Она автоматически проверяет работоспособность кода каждый раз, когда в него вносятся какие-либо изменения.

Автором инструмента выступил инженер Брайан Уорнер (Brian Warner). Сегодня его на посту сменила инициативная группа Buildbot Oversight Committee, в которую входит шесть разработчиков.

בילדבאָט געוויינט דורך такими проектами, как LLVM, MariaDB, Blender и Dr.Web. Но его также применяют в менее крупных проектах вроде wxWidgets и Flathub. Система поддерживает все современные VCS и обладает гибкими настройками билдов за счет использования Python для их описания. Разобраться со всеми ними поможет באַאַמטער דאַקיומענטיישאַן и сторонние туториалы, например, вот краткое руководство от IBM.

פון קורס, это не все DevOps инструменты, на которые стоит обратить внимание небольшим организациям и стартапам. Приводите свои любимые инструменты в комментариях, и мы постараемся рассказать о них в одном из следующих материалов.

וואָס מיר שרייַבן וועגן אין די פֿירמע בלאָג:

מקור: www.habr.com

לייגן אַ באַמערקונג