Давно хотели внедрить devOps, но не было времени и жалко денег на обслуживание или хотите понять как работает devOps в действии на примере интернет агентства, тогда читаем дальше.
В этой статье рассмотрим как можно без особых технических навыков и множества настроек развернуть бесплатный devops от Azure для своей компании (до 5 разработчиков бесплатно).
Цель внедрения любых devops процессов, это ускорение процесса разработки компании, в нашем случае ускорение будет достигаться за счет автоматизированной проверки кода, его автоматического тестирования с помощью эталонных скриншотов и автоматической заливки сайта на сервер.
Итак, какие процессы будут выполняться с помощью devOps в нашем примере:
- при коммите кода одного из разработчиков запускается сборка;
- транспиляция Typescript / Less / etc;
- если в процессе транспиляции возникнут ошибки, разработчик получит предупреждение и его коммит будет отклонен;
- деплой транспилированного проекта на сервер (dev-site);
создание скриншотов получившегося сайта и сравнение их с макетом дизайнера (Screenshot based testing);
получение результатов тестирования и скриншотов через бота Telegram.
Что требуется иметь для этого:
- учетную запись microsoft;
- телеграм канал;
- любой компьютер с доступом в интернет (для работы build agent).
Итак, начнем движение к DevOps.
- Регистрируем аккаунт microsoft на azure.com
- Создаем свою компанию [1], это область в которой будут создаваться проекты(сайты), а также именно в этой области видимости будут работать люди, которым вы будете присылать приглашения
- Создаем Проект внутри компании [2, 3, 4], тут всё как обычно, проект бывает приватным и публичным. Также сразу выбираем репозиторий между встроенным в azure и git. Можно выбрать и второй вариант, интеграция реализована полностью, поэтому devops не пострадает. Я выбрал первый вариант, чтобы уменьшить количество 3rd party средств.
- — В созданном проекте [5] переходим к настройке шагов сборки [6] и создаем первую сборку [7].
- Не забываем добавить агента сборки. Это клиент, которого мы устанавливаем на машине с доступом в интернет, который будет выполнять шаги сборки при определенных событиях, например при добавлении кода в систему контроля версий.
- Добавляем необходимые шаги
Теперь рассмотрим шаги по отдельности, из названий понятно за что отвечает каждый
Кстати, про создание бота для Telegram написано здесь.
О том как тестировать верстку есть хорошая статья тут.
Код проекта и все скрипты, выложил на gitgub.
Статья была написана для того, чтобы новички увидели один из простых способов организации devops с минимальными ресурсными и временными затратами.
UPD 2018.12.03
В связи с комментариями решил дополнить:
— devops azure бесплатен для команд из 5 человек
— при регистрации не нужны банковские карты и т.д. нужен email и какое-нибудь название для вашей организации
— чтобы бесплатно использовать сборку надо установить агента сборки на какую-нибудь машину, у которой есть доступ в интернет, но за деньги можно пользоваться агентами сборки, которые предоставляет microsoft. (себе установил виртуалку с win10, на которой происходит сборка)
— токены на скриншотах для примера, в них добавлены лишние символы
Комментарии (11)
ostapbender
03.12.2018 11:15-1Накликай мышкой себе девопса. Позор-то какой.
Drag13
03.12.2018 11:29Хотите используйте yml файл с нуля (это поддеривается),
Хотите — «накликайте себе девопс», скачайте yml файл который он сгенерит и используйте его.
А кто хочет, может просто работать через графический интерфейс.
Поверьте, проблемы вы встретите не тут.
Saymon
03.12.2018 16:17Поддерживается только для юр.лиц и нужно предоставлять реквизиты при регистрации или компания это только внутренний термин?
bezrukovyra Автор
03.12.2018 21:05Не нужны никакие банковские карточки и реквизиты в отличии от того же AWS.
ruslannafisovich
03.12.2018 20:58Решил запустить тестовый проект, а там уже просит подписку joxi.ru/bmo8eq1tx8kvx2. А где бесплатно?
bezrukovyra Автор
03.12.2018 21:04Дело в том, что Вы выбрали шаг деплоя azure приложения на azure облако, а это уже дополнительный другой ресурс, не относящийся к devops. Здесь же можно бесплатно автоматизировать всю рутину, которая у вас есть. Например при наличии другого облака, на который Вы выкладываете своё приложение (купленного ранее или бесплатного) можно с помощью «Релиза» заливать свой проект, а «Релиз» будет автоматически запускаться после успешной «Сборки».
Требование подписки на вашем скриншоте говорит о том, что вы выбрали шаг deploy azuse app на облако, которое должно существовать, поэтому система предполагает, что у Вас есть какая-то подписка.
keydon2
04.12.2018 17:47Соре, но настроить услугу мелкософта в облаке это не девопс. Это один разработчик отдал деплой и тестирование облаку.
OstaninKI
На последнем скриншоте видно BotToken, советую поменять ;)
Так же не увидел ни где информации о «бесплатности», а Azure, емнип, хочет денег за все.
bezrukovyra Автор
Бесплатность есть, но пока Вам не потребуется количество человек в проекте больше чем 5.
Для фриланса и маленьких веб-студий подойдет