Доброго времени суток!

Давно хотели внедрить devOps, но не было времени и жалко денег на обслуживание или хотите понять как работает devOps в действии на примере интернет агентства, тогда читаем дальше.

В этой статье рассмотрим как можно без особых технических навыков и множества настроек развернуть бесплатный devops от Azure для своей компании (до 5 разработчиков бесплатно).

image

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

Итак, какие процессы будут выполняться с помощью devOps в нашем примере:

  1. при коммите кода одного из разработчиков запускается сборка;
  2. транспиляция Typescript / Less / etc;
  3. если в процессе транспиляции возникнут ошибки, разработчик получит предупреждение и его коммит будет отклонен;
  4. деплой транспилированного проекта на сервер (dev-site);

создание скриншотов получившегося сайта и сравнение их с макетом дизайнера (Screenshot based testing);
получение результатов тестирования и скриншотов через бота Telegram.

Что требуется иметь для этого:

  1. учетную запись microsoft;
  2. телеграм канал;
  3. любой компьютер с доступом в интернет (для работы build agent).

Итак, начнем движение к DevOps.

  • Регистрируем аккаунт microsoft на azure.com
  • Создаем свою компанию [1], это область в которой будут создаваться проекты(сайты), а также именно в этой области видимости будут работать люди, которым вы будете присылать приглашения
  • Создаем Проект внутри компании [2, 3, 4], тут всё как обычно, проект бывает приватным и публичным. Также сразу выбираем репозиторий между встроенным в azure и git. Можно выбрать и второй вариант, интеграция реализована полностью, поэтому devops не пострадает. Я выбрал первый вариант, чтобы уменьшить количество 3rd party средств.
  • — В созданном проекте [5] переходим к настройке шагов сборки [6] и создаем первую сборку [7].

    image

  • Не забываем добавить агента сборки. Это клиент, которого мы устанавливаем на машине с доступом в интернет, который будет выполнять шаги сборки при определенных событиях, например при добавлении кода в систему контроля версий.

  • Добавляем необходимые шаги

    image

Теперь рассмотрим шаги по отдельности, из названий понятно за что отвечает каждый
Кстати, про создание бота для Telegram написано здесь.
О том как тестировать верстку есть хорошая статья тут.

Код проекта и все скрипты, выложил на gitgub.

image

Статья была написана для того, чтобы новички увидели один из простых способов организации devops с минимальными ресурсными и временными затратами.

UPD 2018.12.03
В связи с комментариями решил дополнить:
— devops azure бесплатен для команд из 5 человек
— при регистрации не нужны банковские карты и т.д. нужен email и какое-нибудь название для вашей организации
— чтобы бесплатно использовать сборку надо установить агента сборки на какую-нибудь машину, у которой есть доступ в интернет, но за деньги можно пользоваться агентами сборки, которые предоставляет microsoft. (себе установил виртуалку с win10, на которой происходит сборка)
— токены на скриншотах для примера, в них добавлены лишние символы

Комментарии (11)


  1. OstaninKI
    03.12.2018 10:40
    +1

    На последнем скриншоте видно BotToken, советую поменять ;)
    Так же не увидел ни где информации о «бесплатности», а Azure, емнип, хочет денег за все.


    1. bezrukovyra Автор
      03.12.2018 21:07

      Бесплатность есть, но пока Вам не потребуется количество человек в проекте больше чем 5.
      Для фриланса и маленьких веб-студий подойдет


  1. ostapbender
    03.12.2018 11:15
    -1

    Накликай мышкой себе девопса. Позор-то какой.


    1. Drag13
      03.12.2018 11:29

      Хотите используйте yml файл с нуля (это поддеривается),
      Хотите — «накликайте себе девопс», скачайте yml файл который он сгенерит и используйте его.
      А кто хочет, может просто работать через графический интерфейс.

      Поверьте, проблемы вы встретите не тут.


    1. gambit_fin
      03.12.2018 11:37

      Упрощают процесс плохо. Не упрощают процесс так же плохо.


  1. Saymon
    03.12.2018 16:17

    Поддерживается только для юр.лиц и нужно предоставлять реквизиты при регистрации или компания это только внутренний термин?


    1. bezrukovyra Автор
      03.12.2018 21:05

      Не нужны никакие банковские карточки и реквизиты в отличии от того же AWS.


      1. Drag13
        03.12.2018 21:17

        Когда я пытался месяц назад зарегать аккаунт у меня карточку просили.


  1. ruslannafisovich
    03.12.2018 20:58

    Решил запустить тестовый проект, а там уже просит подписку joxi.ru/bmo8eq1tx8kvx2. А где бесплатно?


    1. bezrukovyra Автор
      03.12.2018 21:04

      Дело в том, что Вы выбрали шаг деплоя azure приложения на azure облако, а это уже дополнительный другой ресурс, не относящийся к devops. Здесь же можно бесплатно автоматизировать всю рутину, которая у вас есть. Например при наличии другого облака, на который Вы выкладываете своё приложение (купленного ранее или бесплатного) можно с помощью «Релиза» заливать свой проект, а «Релиз» будет автоматически запускаться после успешной «Сборки».

      Требование подписки на вашем скриншоте говорит о том, что вы выбрали шаг deploy azuse app на облако, которое должно существовать, поэтому система предполагает, что у Вас есть какая-то подписка.


  1. keydon2
    04.12.2018 17:47

    Соре, но настроить услугу мелкософта в облаке это не девопс. Это один разработчик отдал деплой и тестирование облаку.