В анонсе на TechCrunch прозвучала интересная фраза:
I see CI/CD as one narrow use case of actions. It’s so, so much more,” Lambert stressed. “And I think it’s going to revolutionize DevOps because people are now going to build best in breed deployment workflows for specific applications and frameworks, and those become the de facto standard shared on GitHub.Похоже, авторы рассматривают новые «Actions» не просто как «выполнить тесты и собрать пакет после коммита». А как способ хранить на GitHub исполняемый код, делиться им с коллегами и вызывать в ответ на внешние события, как это сейчас делает IFTTT.
Несмотря на риски (многие open source решения имеют инсталляторы вида «curl | bash», вызывающие волны негодования от спецов по безопасности), запускать код из облака — удобно. Особенно, если это ваш собственный код. «npx ссылка-на-gist» сокращает код сборок, настроек, конфигураций до одной строки. Которую так легко передать коллегам в слаке или выполнить на ноутбуке нового сотрудника.
CI/CD есть бесплатно у облачной версии GitLab, а в open source проектах GitHub используются интеграции с популярными CI системами как на скриншоте ниже. Но сейчас все это сильно ограничено: CI требует много ресурсов для сборки Docker контейнера, его предпочитают продавать за деньги и боятся майнеров. Появление бесплатного и быстрого решения от Microsoft на GitHub может изменить правила игры. Так же, как в свое время это сделали gist'ы.
Комментарии (25)
VioletGiraffe
17.10.2018 10:33Я так понял, Github CI будет заточен на веб-приложения и сервисы? Для десктопов, embedded и т. п. по-прежнему Travis CI + Appveyor?
eyeofhell Автор
17.10.2018 11:19Вот похоже что нет. Там очень амбициозные заявления. Так что если результат можно собрать докером — то должно подойти. Вопрос с маками, как обычно, остается открытым :)
VioletGiraffe
17.10.2018 12:34-1Пока слабо вижу, каким образом Докер мне будет помогать собирать и тестировать С++ или С# софт под Windows. Или под Ардуино. Собственно, именно упор на докер в описании Github CI меня больше всего и смущает, потому что он никаким боком не лепится к разработке моего софта.
eyeofhell Автор
17.10.2018 15:40
cy-ernado
17.10.2018 21:44Есть докер и для винды, я собираю и тестирую в докере под Windows несколько проектов на go.
Нужно только выбрать windows containers.
Или проблема в тулинге, который сложно использовать внутри контейнера?
VioletGiraffe
17.10.2018 21:54Да, но такие контейнеры и запускаются только на Windows? На Гитхабе они вряд ли будут доступны в системе CI.
cy-ernado
17.10.2018 21:57Да, только на Windows. Мне кажется, что вполне логично сделать их доступными, раз уж Microsoft вкладывается и в докер.
berezuev
17.10.2018 12:03Можно хоронить travis-ci? Или здесь все будет сугубо платное?
eyeofhell Автор
17.10.2018 15:33Есть подозрение, что будет бесплатное. Microsoft на другом деньги делает.
Barnaby
17.10.2018 15:55Если смогут сделать не хуже, в чем я сильно сомневаюсь.
А вот appveyor помрет. В мс без винды я не верю.ozkriff
17.10.2018 16:02А вот appveyor помрет
У него и так проблемы намечаются с тревисом: https://blog.travis-ci.com/2018-10-11-windows-early-release
slonopotamus
17.10.2018 20:42+1Вот это новость! Спасибо, пошёл тестить, может удастся отказаться от appveyor.
kovalevsky
Если оно будет работать так же, как у Microsoft в VSTS, то лучше не надо, даже за бесплатно :)
eyeofhell Автор
Сомневаюсь, команды-то разные. Кстати, если есть пара минут — а какие сейчас основные проблемы у «Azure DevOps» (они недано переименовались) CI/CD? Вообще ни разу не пользовался О_О
grigorov
Не стоит даже пытаться, лучше уж teamcity/gitlab-ci. Чем "оно"...
aftertherainbow
Звучит немножечко предвзято. Самую капельку.
forcewake
А если отбросить весь это скептицизм относительно того, что продукт сделан в стенах Microsoft, то чем оно хуже teamcity/gitlab-ci?
Потому что использовав все три могу однозначно сказать, что у них у всех есть как свои плюсы так и минусы.
kovalevsky
Оно очень долго ищет «агента», прежде чем что-то начать. Оно всё очень долго делает, даже за деньги.
С колокольни фронтенда — npm там рандомно может фейлиться и фейлить билд c EPERM ошибкой, или чем-нибудь ещё без явной на то причины. Хочешь обновить версию Node.js с которой собирать? Пожалуйста, вот тебе доки, выбирай из любой предустановленной версии Node.js из прошлого века, но только мы тебе её напишем, но собирать будем с дефолтной и индусы из саппорта тебе ничем не помогут. Чтоб поставить другую Node и npm, у нас в definition прописаны отдельные таски, которые на каждый билд качают, устанавливают ноду и обновляют npm. Однажды мы забыли заплатить за это и оно просто молча фейлило билд и ничего не говорило. Новый интерфейс сделан максимально ущербно (имхо), чтоб пользоваться этим стало ещё более дискомфортно, но теперь хотя бы видно кто и что туда засовывал или что оно делает в данный момент, потому что до этого оно показывало исключительно ТВОИ действия.
unsafePtr
Есть так называемые AzureResourceManager шаблоны с помощью которых можно задеплоить проект в облоко. Вся конфигурация делается в json. Благо примеров много, но если попытаться сделать что-то нестандартное, то становится туго. Другими CI/CD не пользовался. Но мое мнение делать и составлять этим шаблоны неудобно. Причем здесь Azure DevOps? Добавляя таски, за кулисами создается AzureResourceManager шаблон.
ahanoff
Недавно перешел с Appveyor на Azure Devops. Поэтому буду сравнивать с ним.
Из текущего негативного:
Из позитива:
Несмотря на негативные моменты,
продолжаем есть кактуспользоваться уже можно, но если у вас уже есть CI/CD система, я бы не торопился менять