Пишем реальный CI/CD пайплайн | GITLAB CI/CD на практике

  Рет қаралды 48,164

Артём Шумейко

Артём Шумейко

Күн бұрын

Пікірлер: 128
@artemshumeiko
@artemshumeiko 2 ай бұрын
🔥 Забирай разбор production Python кода от меня бесплатно, напиши слово ПРОДАКШН в тг-боте: t.me/ArtemShumeikoBot 🎓 Обучение самым современным и востребованным технологиям, которые нужны backend разработчику, на практике: artemshumeiko.ru
@ItSpecialist-on1bd
@ItSpecialist-on1bd 2 ай бұрын
Удивительно, но для меня это было одно из самых полезных видео, ибо практика прекрвсная. Спасибо, буду ждать еще видео :)
@ЕвгенийБулатов-в1л
@ЕвгенийБулатов-в1л 2 ай бұрын
Просто превосходно. За 20 мин понял больше чем читал.
@АртурДуйшеев
@АртурДуйшеев 7 күн бұрын
Артем, видео очень интересное и познавательное, спасибо за ваш труд, хотелось бы еще послушать про Jenkins и посмотреть, как его настраивать 🔥🔥🔥🔥
@Haskiken4370
@Haskiken4370 Ай бұрын
Черт, ты объясняешь довольно просто и ясно. Жаль пока не выполнил это
@testikarus
@testikarus Ай бұрын
Спасибо за Ваш труд! Коммент в поддержку канала.
@Anuar-fj6mt
@Anuar-fj6mt 4 күн бұрын
красава! коротко и четко! mvp!
@agabekshamuratov4532
@agabekshamuratov4532 2 ай бұрын
круто, теперь ждем k8s
@tenmaxim1904
@tenmaxim1904 13 сағат бұрын
Ппц ты монстр!)) 👍👍👍
@ilyuhalive7724
@ilyuhalive7724 2 ай бұрын
Огонь, спасибо! Выглядит лихо. Я пока только учусь. git + pycharm. Буду учиться вкручивать это все в ci cd
@dogedoge6817
@dogedoge6817 2 ай бұрын
Видео просто кайф, очень быстро и информативно
@brazenoptimist
@brazenoptimist 2 ай бұрын
Спасибо большое за такой крутой видос! Ждал этого очень!!! 🎉 Может покажусь ленивым, но было бы славно, если бы была сборочка материала по теме 🥹
@ДмитрийДавыдов-т5з
@ДмитрийДавыдов-т5з 2 ай бұрын
Лучший! Спасибо большое за знания!
@alexs7612
@alexs7612 7 күн бұрын
Подскажите, как раннер на этапе test видит образ my-backend-image, собранный на этапе build, если мы его никуда не выгружаем и в gitlab registry его тоже нет?
@developmentapp
@developmentapp Күн бұрын
Специалис😃😃т ..! )) зачем sudo пишешь в командах под рутом? Лайк!
@alexbulavin543
@alexbulavin543 2 ай бұрын
Великолепно! 👏👏👏👍🔥
@HelgaPolikova
@HelgaPolikova 2 ай бұрын
несколько лет делала такие процессы - только сейчас узнала, что это оказывается CI/CD 😂
@spirit3064
@spirit3064 2 ай бұрын
Как всегда на высоте Артём.
@Alsurnov
@Alsurnov Ай бұрын
Интересно а как добавить .env при всем этом деплое?
@ES-ng3el
@ES-ng3el 28 күн бұрын
Спасибо. Полезно
@Balda666
@Balda666 2 ай бұрын
Ну с таким пайпом даже до тестового не доедешь )))
@dien0000
@dien0000 10 күн бұрын
после пуш, фикс сразу попадает в пайплайн и потом в дев или майн ветку для клиента, если пайплайн по ci/cd норм прошло?
@breakz849
@breakz849 Ай бұрын
"поняли" - ничего мы не поняли, но ознакомились.
@Katar1x
@Katar1x 2 ай бұрын
Сделай еще сжатый обзор github actions, ибо для большинства начинающих будет большим плюсом, если в пет проекте для собеса будет ci\cd) Я думаю там есть некоторые различия, в частности по раннеру
@artemshumeiko
@artemshumeiko 2 ай бұрын
Зачем? Кто использует GitHub actions в реальном мире?
@andreivasilevitsky3477
@andreivasilevitsky3477 2 ай бұрын
@@artemshumeiko я) на самом деле много компаний используют github actions
@АнтонВитальевич-т7к
@АнтонВитальевич-т7к 2 ай бұрын
​@@artemshumeikoа что с ним не так? Как быть если проект изначально хранится на GitHub?
@LionKingheh
@LionKingheh 2 ай бұрын
@@АнтонВитальевич-т7к перенеси на гитлаб
@АнтонВитальевич-т7к
@АнтонВитальевич-т7к 2 ай бұрын
@@LionKingheh так а зачем всё-таки, если на GitHub есть все тоже самое? Чем он отличается или хуже?
@ПавелКарижский-ц3х
@ПавелКарижский-ц3х 2 ай бұрын
Очень круто!
@sergeyplotnikov4303
@sergeyplotnikov4303 2 ай бұрын
Большое спасибо!
@JohnSmith-z9m
@JohnSmith-z9m 2 ай бұрын
Круто, спасибо!
@ЕгорАфанасьев-ш4ж
@ЕгорАфанасьев-ш4ж 2 ай бұрын
Артём, спасибо вам. Отличный материал и подача. Где взять такую же классную футболку?😂
@artemshumeiko
@artemshumeiko 2 ай бұрын
uniqlo :)
@fila7yt
@fila7yt 2 ай бұрын
Давай видео про кубер
@Katar1x
@Katar1x 2 ай бұрын
+++
@ХанасисЕвгений
@ХанасисЕвгений 2 ай бұрын
+++
@ILyaCyclone
@ILyaCyclone 2 ай бұрын
Спасибо, хорошее видео. На мой взгляд, необходимо пояснять, по какой причине мы выбираем настройки: 11:50 runner executor, 12:08 docker:dind, 12:30 volumes. По крайней мере кратко, иначе это просто некий magic code. Репозиторий проекта где-то доступен?
@artemshumeiko
@artemshumeiko 2 ай бұрын
Да, в описании есть ссылка на репозиторий
@ILyaCyclone
@ILyaCyclone 2 ай бұрын
@@artemshumeiko Поясните указанные моменты?
@itheandrey
@itheandrey 2 ай бұрын
Чувствую, ответа мы не дождёмся...
@hsqlk
@hsqlk 2 ай бұрын
Selectel бесплатно дают белый IP адрес, что-то не видел его в общей стоимости?
@ВладОо-ю7п
@ВладОо-ю7п Ай бұрын
а как в гитлаб подтвердить аккаунт ?там требует выбрать страну России нет
@zaskilovan
@zaskilovan 2 ай бұрын
Отличное видео! А будет такое же, но по настройке Github Actions ?
@artemshumeiko
@artemshumeiko 2 ай бұрын
нет. А зачем?
@zaskilovan
@zaskilovan 2 ай бұрын
@@artemshumeiko На сколько я знаю, там синтаксис отличается от гитлабовского. Просто если у тебя уже проект на GitHub, если ли смысл переходить ради CI CD на GitLab
@artemshumeiko
@artemshumeiko 2 ай бұрын
@@zaskilovan у вас на работе GitHub используется для хранения кода?
@zaskilovan
@zaskilovan 2 ай бұрын
@@artemshumeiko Я пока только учусь, по этому ещё не встречался с GitLab
@artemshumeiko
@artemshumeiko 2 ай бұрын
лучше сразу с него начинать, чтобы на работе меньше учить)
@stillenray
@stillenray 2 ай бұрын
Сделай видео как добиться деплоймента без отключение или перезапуска сервиса
@oRiGiNaLMrInsaf
@oRiGiNaLMrInsaf 2 ай бұрын
Спасибо за видео! У меня вопрос: Не проще ли запускать тесты до сборки (build)? Я смотрю на примера фронта, build-которого создаст бандл для отдачи клиенту, в нем (в бандле, который получился после build) тесты уже не прогонишь, т.е. тесты нужно прогонять все равно отдельно, вне бандла и, если тесты упадут, то build придется перегонять заново после внесения изменений. Как будто прогнав вначале тесты мы сэкономим время, или это только на фронте так работает?
@АлександрБорисов-з9е
@АлександрБорисов-з9е Ай бұрын
Полагаю, так сделано просто для примера, как это работает. В рабочем проекте массив stages был бы примерно в таком порядке - prepare, cache, test, code-scan, migration, build, clean-up, appsec, deploy, release
@alisher.sabirov
@alisher.sabirov 25 күн бұрын
Спасибо большое за крутое видео, сделай пожалуйста ci/cd на проектах php (laravel/yii2)
@MrAlexidi
@MrAlexidi 15 күн бұрын
Артем Python разработчик. Вам к другому спецу надо обратиться😊
@kirilltyupaev2447
@kirilltyupaev2447 2 ай бұрын
А на сколько норм запускать gitlab-runer на проде? Если в более реальных условиях, если есть пользователи которые пользуются приложением, в этот момент билд докера и прогон тестов-линтеров создают повышенную нагрузку на сервер.
@MrMikhailDJ
@MrMikhailDJ 2 ай бұрын
Решение: просто использовать отдельный сервер под сборку. Я в Gitlab CI плохо понимаю, но эти раннеры по своей сути аналог агентов в Jenkins. Обычно билд сервер с агентом отдельный используется, где происходит сборка и деплой на целевые сервера, например, продовский с приложением
@itheandrey
@itheandrey 2 ай бұрын
Ни на сколько. Смысл запуска runner на своём сервере только в экономии средств и настройке окружения. Облачная версия со всем справляется, у неё есть только квота минут. Автор видео не осилил сборку образа в облаке и загрузку его в gitlab registry...
@maximkoltsov9833
@maximkoltsov9833 2 ай бұрын
Прям согласен с тобой, тоже обожаю Docker compose) Без него проектов меня не бывает) В крайностях если только если ручками запускать с помощью systemctl Было бы интересно узнать, какие практики ты используешь для защиты сервера и уязвимостей докера
@1995taunus
@1995taunus 2 ай бұрын
Что такое джоба? Имеете ввиду джоб (job)? Сорри, совсем сленг не знаю.
@artemshumeiko
@artemshumeiko 2 ай бұрын
да
@DavidCohen-ux8tz
@DavidCohen-ux8tz 2 ай бұрын
У мире DevOps, какие дистры Linux часто используются ? .
@artemshumeiko
@artemshumeiko 2 ай бұрын
Ubuntu
@andrewzh4660
@andrewzh4660 Ай бұрын
ох, кидайтесь в меня какашками, но мне больше нравится на базе RHEL. Для серверов AlmaLinux, для компа Fedora
@Fair-Wez
@Fair-Wez Ай бұрын
Хотелось бы больше видео по настройке ci/cd. Теги, ветки, конфигурационные файлы разных веток) Спасибо за ролик👍
@0limjon
@0limjon 2 ай бұрын
Спасибо за ролик. Вопрос а как выбрать url на который я буду деплоить? Я просто не заметил Nginx конфига
@artemshumeiko
@artemshumeiko 2 ай бұрын
в этом ролике мы не настраиваем домен и ssl сертификаты Об этом я рассказывал в видео про деплой: kzbin.info/www/bejne/q33TXq2dqMqnZpI
@dmitry9463
@dmitry9463 2 ай бұрын
Подскажи, ты пользуешься мышкой или тачпадом? Если мышкой, то какой?
@Chel1k7
@Chel1k7 2 ай бұрын
Допустим он скажет что x7, дальше что? Пойдешь в магазин за такой же?
@artemshumeiko
@artemshumeiko 2 ай бұрын
мышкой logitech, покупал на озоне за 2к я не придаю значение клаве и мышке
@prepin
@prepin 2 ай бұрын
Артём, а ты смотрел на Kamal? Выглядит очень хорошо.
@nixaristix1819
@nixaristix1819 2 ай бұрын
как-то это все бесплатно можно сделать, чтобы за аренду не платить? Чисто в целях самообучения
@artemshumeiko
@artemshumeiko 2 ай бұрын
на собственном ПК запустить gitlab runner а вообще, сервер можно купить за 300 рублей, оно того стоит
@rudinandrey
@rudinandrey 2 ай бұрын
в целом да, сам процесс описан, но блин Docker in docker это извращение какое то же, нет ?!?! и в целом все равно не понятно осталось, как он решает что тот сервис надо погасить, перебилдить и запустить, или это за счет того что там docker compose делается?
@DimaTiunov
@DimaTiunov 2 ай бұрын
Он ничего не решает без твоей команды Как опишешь в конфиге так и будет
@_test_test
@_test_test 2 ай бұрын
да, это через компоуз разруливается. контейнер то один и тот же, поэтому он один убивает, а другой запускает
@alexandrfominenkov8390
@alexandrfominenkov8390 2 ай бұрын
DIND это хорошо
@rudinandrey
@rudinandrey 2 ай бұрын
@@alexandrfominenkov8390 чем? докер в докере, это виртуалка в виртуалке, что хорошего?
@rinovttcompilations
@rinovttcompilations 2 ай бұрын
При запуске пайплайна просит верифицироваться. Я выбрал способ через мобильный телефон, через РФ причём нельзя это сделать, арендовал номер, ввёл, в итоге меня перекинуло на способ верификации через кредитную карту, которой у меня нет. И что делать!
@kyatskovskiywork
@kyatskovskiywork Ай бұрын
Ты используешь облачные раннеры гитлаба, надо использовать specify раннер который автор устанавливал в уроке И отключить переключатель Enable instance runners for this project в настройках проекта/ci-cd Остальную настройку очень долго объяснять, дальше уже сам. Но проблема в этом
@Nick87rus
@Nick87rus Ай бұрын
Дружище, ты смог решить эту проблему?
@slimo8783
@slimo8783 11 сағат бұрын
@@Nick87rus я решил, но развертыванием своего инстанса гитлаба :)
@IamCutePanda
@IamCutePanda Ай бұрын
Docker не хочет работать из СНГ
@netsdevs6210
@netsdevs6210 2 ай бұрын
Странно, что там Руби появился. Гитлаб работает на Руби штоле?
@raufhashimov241
@raufhashimov241 2 ай бұрын
Ну как работает, Гитлаб написан на рубине
@_test_test
@_test_test 2 ай бұрын
чет селектел какой то дорогой. та же вдсина с сервером в рф существенно интереснее 1 core 1 Gb 10 Gb 32 Tb * 2 ₽ / день 69 ₽ / месяц Заказать
@naivrick9782
@naivrick9782 2 ай бұрын
69руб?)
@_test_test
@_test_test 2 ай бұрын
@@naivrick9782 так специально для извращенцев, которые любят с таким возиться. но если без шуток, то арендую там европейский сервер и оно действительно так дешево. для каких нибудь тг ботов подойдет, но что то сурьезное там хостить я б конечно не стал:D
@hsqlk
@hsqlk 2 ай бұрын
Чет слишком дешево
@pinfold3201
@pinfold3201 2 ай бұрын
согласен, далеко не самый дешевый сервис
@mideks
@mideks 2 ай бұрын
это где это ты за 70 нашёл? звучит не очень надёжно
@Wander_Candy
@Wander_Candy 2 ай бұрын
Давай теперь CircleCI
@loshok17
@loshok17 Ай бұрын
docker build в 2024 лютий пон
@biLLie_wiLLie
@biLLie_wiLLie 2 ай бұрын
К сожалению не заработало у меня. Может что-то не так делаю
@Alex.Shalda
@Alex.Shalda 2 ай бұрын
Давай что-нибудь посложнее Хотя бы как убрать downtime
@artemshumeiko
@artemshumeiko 2 ай бұрын
кубер в помощь
@MrMikhailDJ
@MrMikhailDJ 2 ай бұрын
Если без кубера, то можно использовать nginx/haproxy в качестве балансировщика нагрузки и применять сине-зелёные развёртывания. Дожидаться, когда контейнер с новой версией приложения установится и будет доступ и маршрутизировать трафик на новый, удаляя старый. Что кубер что этот способ подразумевает какие-то навыки в области администрирования. Но даже так без кубера будет быстрее реализовать, если вообще не шаришь
@Alex.Shalda
@Alex.Shalda 2 ай бұрын
@@MrMikhailDJ спасибо за совет ))
@igorolikov1997
@igorolikov1997 2 ай бұрын
@@Alex.Shalda docker swarm вроде умеет бесшовный деплой делать
@stereovictoryasmr
@stereovictoryasmr 2 ай бұрын
Не хватило примера использования env файла на реальном примере
@artemshumeiko
@artemshumeiko 2 ай бұрын
приходите на курс, там подробно изучаем CI/CD: artemshumeiko.ru
@pinfold3201
@pinfold3201 2 ай бұрын
а я всегда в кубере все разворачиваю, хоть и понимаю что в большинстве случаев это излишне. Хз почему
@artemshumeiko
@artemshumeiko 2 ай бұрын
senior type shit :)
@methamorph
@methamorph 2 ай бұрын
да елы палы :-( опять про гитлаб, а если его нет :-)
@artemshumeiko
@artemshumeiko 2 ай бұрын
А что у вас?
@sergeishmelev8000
@sergeishmelev8000 2 ай бұрын
@@artemshumeiko у меня github, на gitlab не зарегаться нынче....
@faritavtakhov5115
@faritavtakhov5115 2 ай бұрын
Спасибо за видео, не хватает видео про мониторинг сервисов. Healthcheck, графана
@ЮрійЄвтушенко-л6е
@ЮрійЄвтушенко-л6е 2 ай бұрын
Очень интересное видео, интересно как бы объединить frontend и backend такой схемой но чтобы они были в разных репозиториях ибо docker-compose один , а репозитория два
@mideks
@mideks 2 ай бұрын
хм, ну по идеи можно собирать контейнеры отдельно друг от друга, и в докер композе уже подгружать с докерхаба или с другого сервиса с контейнерами. другой вопрос где тогда размещать композ... хз, может даже в отдельном репо?
@ЮрійЄвтушенко-л6е
@ЮрійЄвтушенко-л6е 2 ай бұрын
@@mideks о да надо подумать
@mideks
@mideks 2 ай бұрын
а надо ли фронт и бэк разделять на два репо? 🤔🤔🤔🤔🤔🤔
@ЮрійЄвтушенко-л6е
@ЮрійЄвтушенко-л6е 2 ай бұрын
@@mideks Тоже вопрос интересный
@garbuzkarapuz
@garbuzkarapuz 2 ай бұрын
Да нафиг он нам ваш компост и не нужон
@ФилиппБондарев
@ФилиппБондарев 2 ай бұрын
Может у меня плохое настроение, но какого дьявола были добавлены эти субтитры внизу? (Чёрная плашка, жёлтые буквы) Раздражает очень сильно.
@nickouteen
@nickouteen 2 ай бұрын
в настройках берешь и отключаешь. В чем проблема?
@ФилиппБондарев
@ФилиппБондарев 2 ай бұрын
@@nickouteen А ещё больше раздражают такие комментаторы... Будьте добры, перечитайте ещё раз, что я написал и начните смотреть видео...
@dzentsetsu
@dzentsetsu 2 ай бұрын
Явно дело в настроении😅
@DrDiVra
@DrDiVra 3 күн бұрын
А теперь весело попробуйте написать код для многоуровневого сервиса хотя-бы под балансировку, где один микросервис под windows, другая под linux с сегментацией сети между микросервисами и их взаимодействием через DNS, чтобы в браузере на IP на заходить. А то, что тут показывают это не CI/CD - это жонглирование поверхностной терминологией для кэлхер джунов. И вот таких, кто сразу льё фичу на прод окружение обычно выгоняют в конце спринта на мороз.
CI/CD - Простым языком на понятном примере
15:29
Артём Шумейко
Рет қаралды 121 М.
Une nouvelle voiture pour Noël 🥹
00:28
Nicocapone
Рет қаралды 9 МЛН
GitLab CI/CD Pipeline Tutorial for Beginners (2024)
19:33
Valentin Despa
Рет қаралды 61 М.
CI CD наглядные примеры
22:08
Ulbi TV
Рет қаралды 300 М.
Что такое GitLab?
9:38
Merion Academy
Рет қаралды 39 М.