Pavel
тут есть традиция хейтить что-то, например Чистяков хейтит заббикс, я - докер
Oleg
😅
Pavel
я не утверждаю, что он не работает и что если супер альтернативы
nvkv
самое-то главное, что я согласен, что он говно :)
nvkv
но он наше говно
Oleg
В докер разве все можно затолкать??)
Pavel
Олег, вот у нас например 4-5 разных циклов поставки софта
Oleg
Таак
nvkv
Pavel
поэтому про конкретный пайплайн нужно конкретно разговаривать
nvkv
к сожалению
Pavel
у тебя приложение на чем?
Pavel
всмысле язык/платформа
Pavel
может у тебя вообще ios, а мы тут тебе про docker
nvkv
кстати, про CI/CD для iOS могу рассказать
nvkv
это вообще первый CI/CD, которым я занимался
Oleg
Есть виндоувс, есть линукс. .net, java
nvkv
Ну вот виндовый пайплайн у нас адский ненможко, потому что молодой
nvkv
там Teamcity всем занимается
nvkv
+ ansible для CM серверов (боль)
nvkv
Он произвольный код выполнять может
nvkv
у нас просто сделаны конфигурации, которые деплоят на сервера
nvkv
через гит
Oleg
А jenkins 2 с pipeline кто-нибудь смотрел?
Mihail
я смотрел
Pavel
он норм
Mihail
ничего сказать не могу, кроме того что оно работает :)
Mihail
прям сильно глубоко не ковырял :) но выглядит интересно
Oleg
:)
Pavel
они еще тут выпустили новую морду для дженкинса
Pavel
которая правда у меня не запустилась
Pavel
https://github.com/jenkinsci/blueocean-plugin
Mihail
только хотел спросить ставится ли она уже нормально
Pavel
но я и не особо старался
Pavel
просто выполнил все по инструкции и меня нахуй послали
Pavel
мы тимсити юзаем, но это исторически уже
Oleg
Ага, видел ее, тоже интересует как оно в работе
Mihail
походу пока никак :)
nvkv
nvkv
я тут просто говна наелся с concourse-ci
nvkv
не уверен, что захочу в следующий раз его
Mihail
выглядит да. можно красивые кнопочки пилить
Oleg
nvkv
не
nvkv
он бесплатный и опенсорсный
nvkv
но всё это нивелируется тем, что он странный
Pavel
Олег, пишу для тебя
Как выглядит рыба разработки и поставки софта
1. Разработчики клонят себе необходимые репозитории и в отделных ветках разрабатывают фичи. Все это в dev-окружении (обеспечивай как хочешь)
3. Есть CI который собирает все по пушу в ветки. Все это в окружении для тестов (обычно это одно и тоже окружение с разработческим, просто отделено). Тут запускаются unit-тесты и небольший функциональные.
4. Есть билдовая ветка, в нее мержатся тикеты готовые к релизу. Все это собирает CI и деплоит на staging. Тут уже к предыдущим тестам добавляются интеграционные тесты.
5. Затем когда наступает фича-фриз, все это деплоится на прод. Билдовая ветка мержится в мастер и из него стартуется новая пустая билдовая ветка в которую будут мержится новые задачи.
Pavel
в CI ты настраиваешь степы сборки твоего софта и что нужно делать чтобы задеплоить его на тестовое окружение и на staging
Pavel
можно деплоить на prod через CI, можно руками (обычно на прод уже руками катят)
Pavel
системный софт обычно катят отдельно от приложения, обеспечивая обратную совместимость
Pavel
DevOps-ы обычно не озадачиваются тестами, тестируют манифесты деплоем
Pavel
Pavel
и у тебя 2-3 чувака разработчиков
nvkv
я ж написал, в идеале :)
Olsen
nvkv
это всё реально стреляет именно когда начинается вавилон
Pavel
меня смущает "автоматически же роллбечить в случае проблем, которые сдетектил мониторинг"
Pavel
потому что это как "рестартовать tomcat"
Pavel
в какой то момент ты только и будешь что рестартовать
Pavel
бывает ломается обратная совместимость
Pavel
нельзя отказывать, надо чинить
Pavel
я написал рыбу, детали у всех разные
Pavel
Pavel
для патчей у нас отдельный интерфейс, свой
Pavel
если надо что-то запатчить на проде - прикрепляешь дифф и деплоишь его через интерфейс на серваки.
при этом выбираешь ревьювера, которые должен посмотреть сперва твой дифф =)
Pavel
но это потому что у нас много серверов, так просто по scp не разложишь и разработчиков тоже много, патчить много всяких компонентов
nvkv
Ждём со дня на день их
Pavel
а насчет рыбы по пайп лайну в CI, я люблю 4 step-а
build, deploy,test,notify
Anonymous
Pavel
для каждого софта свой код в степах
Pavel
чо найдешь то?