David
мы это решаем с помощью геррита
Что именно? И как gerrit может быть интегрирован в CI/CD pipeline?
Konstantin
@dvoikik пересобирать. qa должны тестировать не имидж, а код. и от пересборки не должно ничего меняться. в любом другом случае возникает проблема разрыва кода и энва
я вот против, любая сборка тянет зависимости, некоторые из них никакого отношения к коду не имеют и могу после пересброки сломаться. ТС прав и вопрос поднимался не раз, артефакт из QA\DEV должен идти дальше в случае прохождения тестов\аппрувов без пересборки
Konstantin
недавно смотрел видео с конфы, кажется от флантов, на эту тему
Dmitry
Что именно? И как gerrit может быть интегрирован в CI/CD pipeline?
решаем проблему тестирования изменений до их фактического мерджа. >И как gerrit может быть интегрирован в CI/CD не понял вопроса.
Gleb
Всем привет! У меня вопрос такой, никак не могу найти что-то, что меня бы направило в правильное русло. Есть git репозиторий, с которым будут работать по Git Flow. В нем есть ветки develop, master и будут создаваться release/$version ветки для каждого релиза и hotfix/$version для исправления багов, найденных в master ветке. Я пытаюсь найтроить VSTS для CI/CD (Не важно, в чем именно, вопрос не по имплементации). В данный момент я вижу flow следующим образом: Когда происходит push в develop, создается docker image ($image):($version)-dev($revision) и деплоится в kubernetes в dev namespace Когда происходит push в release, создается docker image ($image):($version)-rc($revision) и деплоится в kubernetes в qa namespace Когда происходит push в master, создается docker image ($image):($version) и деплоится в kubernetes в prod namespace Вопрос: Стоит ли делать так? Я читал, что image из qa должен в случае успешных тестов быть развернут в продакшн, а не собран снова. Как в этом случае быть? Я вижу 2 варианта: 1) Собирать image для qa из master ветки. Но в этом случае непонятно, что делать, если QA не принимает билд и нужно еще внести некоторые правки, потому что если код попал в мастер, он уже должен быть без известных изъянов. 2) Собирать image для qa из release ветки и этот же image отправлять в prod, если QA принимает билд. Но в этом случае нарушается правило "В master ветке всегда имеем код, который сейчас в продакшне". Я понимаю, что все это очень субъективно и может быть много разных вариантов решения. Я буду рад любым предложениям и конструктивной критике. Спасибо за уделенное время.
в этой схеме, образы создаются для dev/qa/master по-разному? или только называются с префиксом?
David
решаем проблему тестирования изменений до их фактического мерджа. >И как gerrit может быть интегрирован в CI/CD не понял вопроса.
Ну ведь моя конечная цель состоит в том, чтобы все изменения в кодовой базе автоматически попадали в соответсвующие окружения, т.е. от разработчиков требуется только работать согласно gitflow и больши ни о чем не думать.
David
Ну, из мастера образ еще и помечается тэгом latest, в остальном все идентично
David
Только называются
Вернее, помечаются (tag), названия у образов, строго говоря, одинаковые
Navern
Всем привет! У меня вопрос такой, никак не могу найти что-то, что меня бы направило в правильное русло. Есть git репозиторий, с которым будут работать по Git Flow. В нем есть ветки develop, master и будут создаваться release/$version ветки для каждого релиза и hotfix/$version для исправления багов, найденных в master ветке. Я пытаюсь найтроить VSTS для CI/CD (Не важно, в чем именно, вопрос не по имплементации). В данный момент я вижу flow следующим образом: Когда происходит push в develop, создается docker image ($image):($version)-dev($revision) и деплоится в kubernetes в dev namespace Когда происходит push в release, создается docker image ($image):($version)-rc($revision) и деплоится в kubernetes в qa namespace Когда происходит push в master, создается docker image ($image):($version) и деплоится в kubernetes в prod namespace Вопрос: Стоит ли делать так? Я читал, что image из qa должен в случае успешных тестов быть развернут в продакшн, а не собран снова. Как в этом случае быть? Я вижу 2 варианта: 1) Собирать image для qa из master ветки. Но в этом случае непонятно, что делать, если QA не принимает билд и нужно еще внести некоторые правки, потому что если код попал в мастер, он уже должен быть без известных изъянов. 2) Собирать image для qa из release ветки и этот же image отправлять в prod, если QA принимает билд. Но в этом случае нарушается правило "В master ветке всегда имеем код, который сейчас в продакшне". Я понимаю, что все это очень субъективно и может быть много разных вариантов решения. Я буду рад любым предложениям и конструктивной критике. Спасибо за уделенное время.
Артефакт должен быть один. Если у тебя артефакты собираются на ветки. То ты будешь тестировать несколько раз.
Gleb
а, понял. идея это натянуть на git-flow... мы от этого отказались. :)
Dmitry
да, git-flow хорошо себя показывает, будучи осфериченным в вакууме
David
а, понял. идея это натянуть на git-flow... мы от этого отказались. :)
А какие есть альтернативы? Не хотелось бы придумывать процесс самостоятельно, есть какие-то аналоги?
Dmitry
каких-то стандартных решений адаптации гит-флоу к реальности я не встречал. каждый случай индивидуален
David
каких-то стандартных решений адаптации гит-флоу к реальности я не встречал. каждый случай индивидуален
То есть ты за то, чтобы изменить flow работы с VC, а не подстраивать CI/CD под него?
Dmitry
ну, менять всё равно что-то придётся, раз ты пришёл к пониманию проблемы
Konstantin
https://www.youtube.com/watch?v=G3nELxmECd8
Konstantin
вот, я об этом, вроде)
David
ну, менять всё равно что-то придётся, раз ты пришёл к пониманию проблемы
Согласен. Но не лучше ли это сделать на уровне CI/CD, чем на уровне работы с VC? Все таки, CI/CD - автоматика, а работа с VC - люди, вероятность ошибок больше (мое субъективное мнение).
David
https://www.youtube.com/watch?v=G3nELxmECd8
О, я вроде его смотрел. Сейчас пересмотр еще раз, на всякий, спасибо.
Konstantin
О, я вроде его смотрел. Сейчас пересмотр еще раз, на всякий, спасибо.
не уверен что я именно его имею ввиду, бегло вроде оно
Dmitry
>работа с VC - люди, вероятность ошибок больше вот именно. потому у нас запрещен прямой пуш. всё через реквесты и автоматику. основное требование - ветка должна быть протестированной в любой момент времени. т.к. она же используется и для тестов. сломанная ветка - остановка процесса разработки
Dmitry
разработка ведётся в мастере. релиз отпочковывается в ветку stable/*. хотфиксы черрипикаются в неё из мастера
Dmitry
ну, это у нас. в таких вещах каждый дчет, как хочет. нет универсальных решений
David
разработка ведётся в мастере. релиз отпочковывается в ветку stable/*. хотфиксы черрипикаются в неё из мастера
То есть ветки с релизами остаются? Я так понимаю, вам нужно сопровождать все прошлые релизы?
Dmitry
ну, не все. согласно SLA
Dmitry
в реальности это сопровождение - та ещё попоболь, но как-то справляются
Dmitry
особенно, если заказчик просит новую фичу протащить под видом хотфикса
David
ну, не все. согласно SLA
Да, разумеется. Представляю. Ну, конкретно в моем случае в проде всегда размещен только последний релиз, так что я не знаю, насколько такая модель подойдет.
Dmitry
угу...
David
Да уж)
David
не уверен что я именно его имею ввиду, бегло вроде оно
Да, это он. Поставил метку на этот момент. Здесь я как раз вот это и услышал, потому у меня эти вопросы и возникли. https://youtu.be/G3nELxmECd8?t=26m14s
Konstantin
Да, это он. Поставил метку на этот момент. Здесь я как раз вот это и услышал, потому у меня эти вопросы и возникли. https://youtu.be/G3nELxmECd8?t=26m14s
угу, и это не единственный случай где я встречал, не говоря о том что и сам на опыте это проходил
Konstantin
и то что Дмитрий говорит про "ту фигню из nodejs удалили" - тоже попал на это, но к счастью не наступил, но вся контора на ушах и фейлах))
David
А если собирать образы из master, а если они не пройдут QA, то исправлять это hotfix'ами?
Dmitry
отдельный флоу для установки тегов. на вход - sha коммита. в процессе - сборка имиджа и проверка qa. по факту аппрува - постановка тэга и промоут имиджа
David
Ок, всем спасибо!
Vadik
Все привет я только начал знакомится с CI подскажите как настроить его на jenkin or aws .
Cate
Из наших новостей вы уже знаете, что сегодня будет DevOps митап по теме «Мониторинг», и вот подоспела ссылка на онлайн трансляцию, которая начнется в 19:00 MSK https://www.youtube.com/watch?v=zdPbQ5DMAPE
J
Все привет я только начал знакомится с CI подскажите как настроить его на jenkin or aws .
в чем вопрос собсно? берешь тачку ставишь там жаву и погнал по мануалу
J
парни подскажите почему может не прилетать роут из AWS VPC в инстанс EB? инстанс связан с VPC. Работает только если руками на инстансе добавить
Vadik
Вопрос думаю в - jenkins or aws
Да именно в нем , точнее пока в jenkins по факту как бы для начала хочу собрать код в артефакты а его уже отправить на авс. Кто то может объяснить хотя бы как это в теории пошагово должно быть?
Konstantin
ну тут в 2 предложения не получится, на том же ютубе\хабре уже тысячи туториалов
Denis 災 nobody
линками сразу кидай..
Max
Посоны, помогите плз, я чот туплю. Есть кароч ансибловский плейбук который выкатывает контейнеры. Чот не догоняю, как его заставить выполниться в пайплайне дженкинса. Ансибл в отдельной репе от проекта
Andrey
Программа сегодняшнего BMM
Valeriy
А трансляция не предусмотрена?
Terry
А трансляция не предусмотрена?
https://www.youtube.com/channel/UCyQ9sLBi9F3Mo_LRQrJ6RNg
Valeriy
Я там был - нет трансляции (
Andrey
щас узнаем
Andrey
пока болтология
Andrey
А тем временем, онлайн трансляция Big Monitoring Meetup#2 в 11 часов начнется здесь: https://www.youtube.com/channel/UCyQ9sLBi9F3Mo_LRQrJ6RNg
Andrey
https://youtu.be/baieh2mUc0c во линк прямой
Andrey
А тем временем 17 и 18 мая в Петерьурге проходит международная конференция по QA Heizenbug. Прямая трансляция: https://youtu.be/iqLkOXFZsPo
Konstantin
https://tproger.ru/curriculum/devops/
Старый
https://tproger.ru/curriculum/devops/
а потом вам будут платить как джуниор девелоперу
Старый
за 150 раз большее кол-во работы
Mark ☢️
Konstantin
и что значит "вам"?
Konstantin
кому нам? на кого ты тут уже поделил нас? ))
Старый
И здесь стонешь ?
хочу и ною, но всё же правда, java джун спокойно найдёт работу на 80-100, и будет делать куда меньше, чем devops, и статья открыто призывает 3-4 тела заменять
Старый
какой смысл?
Tadeusz
девопсовство хуита, а вот java программирование не хуита.
Старый
Tadeusz
ну так оно и есть…
Старый
ты вообще искал себе раба недавно за 60к
Tadeusz
Ну си тут уже лишнее, предмет разговора не тот
Старый
так никто и не запрещает
Старый
но это не отменяет того факта, что вакансии devops всё чаще дерьмище неоплачиваемое
Старый
не там ищете
вопрос не в самих цифрах, а в цифрах в пересчёте на кол-во необходимой работы за них