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

  Рет қаралды 38,639

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

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

Күн бұрын

Пікірлер: 116
@artemshumeiko
@artemshumeiko Ай бұрын
🔥 Забирай разбор production Python кода от меня бесплатно, напиши слово ПРОДАКШН в тг-боте: t.me/ArtemShumeikoBot 🎓 Обучение самым современным и востребованным технологиям, которые нужны backend разработчику, на практике: artemshumeiko.ru
@ItSpecialist-on1bd
@ItSpecialist-on1bd Ай бұрын
Удивительно, но для меня это было одно из самых полезных видео, ибо практика прекрвсная. Спасибо, буду ждать еще видео :)
@ЕвгенийБулатов-в1л
@ЕвгенийБулатов-в1л Ай бұрын
Просто превосходно. За 20 мин понял больше чем читал.
@Fair-Wez
@Fair-Wez 10 күн бұрын
Хотелось бы больше видео по настройке ci/cd. Теги, ветки, конфигурационные файлы разных веток) Спасибо за ролик👍
@Haskiken4370
@Haskiken4370 6 күн бұрын
Черт, ты объясняешь довольно просто и ясно. Жаль пока не выполнил это
@agabekshamuratov4532
@agabekshamuratov4532 Ай бұрын
круто, теперь ждем k8s
@ilyuhalive7724
@ilyuhalive7724 Ай бұрын
Огонь, спасибо! Выглядит лихо. Я пока только учусь. git + pycharm. Буду учиться вкручивать это все в ci cd
@Alsurnov
@Alsurnov 3 күн бұрын
Интересно а как добавить .env при всем этом деплое?
@dogedoge6817
@dogedoge6817 Ай бұрын
Видео просто кайф, очень быстро и информативно
@brazenoptimist
@brazenoptimist Ай бұрын
Спасибо большое за такой крутой видос! Ждал этого очень!!! 🎉 Может покажусь ленивым, но было бы славно, если бы была сборочка материала по теме 🥹
@Balda666
@Balda666 Ай бұрын
Ну с таким пайпом даже до тестового не доедешь )))
@spirit3064
@spirit3064 Ай бұрын
Как всегда на высоте Артём.
@ДмитрийДавыдов-т5з
@ДмитрийДавыдов-т5з Ай бұрын
Лучший! Спасибо большое за знания!
@Katar1x
@Katar1x Ай бұрын
Сделай еще сжатый обзор github actions, ибо для большинства начинающих будет большим плюсом, если в пет проекте для собеса будет ci\cd) Я думаю там есть некоторые различия, в частности по раннеру
@artemshumeiko
@artemshumeiko Ай бұрын
Зачем? Кто использует GitHub actions в реальном мире?
@andreivasilevitsky3477
@andreivasilevitsky3477 Ай бұрын
@@artemshumeiko я) на самом деле много компаний используют github actions
@АнтонВитальевич-т7к
@АнтонВитальевич-т7к Ай бұрын
​@@artemshumeikoа что с ним не так? Как быть если проект изначально хранится на GitHub?
@LionKingheh
@LionKingheh Ай бұрын
@@АнтонВитальевич-т7к перенеси на гитлаб
@АнтонВитальевич-т7к
@АнтонВитальевич-т7к Ай бұрын
@@LionKingheh так а зачем всё-таки, если на GitHub есть все тоже самое? Чем он отличается или хуже?
@breakz849
@breakz849 8 күн бұрын
"поняли" - ничего мы не поняли, но ознакомились.
@HelgaPolikova
@HelgaPolikova Ай бұрын
несколько лет делала такие процессы - только сейчас узнала, что это оказывается CI/CD 😂
@sergeyplotnikov4303
@sergeyplotnikov4303 Ай бұрын
Большое спасибо!
@alexbulavin543
@alexbulavin543 Ай бұрын
Великолепно! 👏👏👏👍🔥
@ILyaCyclone
@ILyaCyclone Ай бұрын
Спасибо, хорошее видео. На мой взгляд, необходимо пояснять, по какой причине мы выбираем настройки: 11:50 runner executor, 12:08 docker:dind, 12:30 volumes. По крайней мере кратко, иначе это просто некий magic code. Репозиторий проекта где-то доступен?
@artemshumeiko
@artemshumeiko Ай бұрын
Да, в описании есть ссылка на репозиторий
@ILyaCyclone
@ILyaCyclone Ай бұрын
@@artemshumeiko Поясните указанные моменты?
@itheandrey
@itheandrey Ай бұрын
Чувствую, ответа мы не дождёмся...
@ПавелКарижский-ц3х
@ПавелКарижский-ц3х 27 күн бұрын
Очень круто!
@ВладОо-ю7п
@ВладОо-ю7п 20 күн бұрын
а как в гитлаб подтвердить аккаунт ?там требует выбрать страну России нет
@JohnSmith-z9m
@JohnSmith-z9m Ай бұрын
Круто, спасибо!
@ЕгорАфанасьев-ш4ж
@ЕгорАфанасьев-ш4ж Ай бұрын
Артём, спасибо вам. Отличный материал и подача. Где взять такую же классную футболку?😂
@artemshumeiko
@artemshumeiko Ай бұрын
uniqlo :)
@rinovttcompilations
@rinovttcompilations Ай бұрын
При запуске пайплайна просит верифицироваться. Я выбрал способ через мобильный телефон, через РФ причём нельзя это сделать, арендовал номер, ввёл, в итоге меня перекинуло на способ верификации через кредитную карту, которой у меня нет. И что делать!
@kyatskovskiywork
@kyatskovskiywork 26 күн бұрын
Ты используешь облачные раннеры гитлаба, надо использовать specify раннер который автор устанавливал в уроке И отключить переключатель Enable instance runners for this project в настройках проекта/ci-cd Остальную настройку очень долго объяснять, дальше уже сам. Но проблема в этом
@Nick87rus
@Nick87rus 24 күн бұрын
Дружище, ты смог решить эту проблему?
@hsqlk
@hsqlk Ай бұрын
Selectel бесплатно дают белый IP адрес, что-то не видел его в общей стоимости?
@oRiGiNaLMrInsaf
@oRiGiNaLMrInsaf Ай бұрын
Спасибо за видео! У меня вопрос: Не проще ли запускать тесты до сборки (build)? Я смотрю на примера фронта, build-которого создаст бандл для отдачи клиенту, в нем (в бандле, который получился после build) тесты уже не прогонишь, т.е. тесты нужно прогонять все равно отдельно, вне бандла и, если тесты упадут, то build придется перегонять заново после внесения изменений. Как будто прогнав вначале тесты мы сэкономим время, или это только на фронте так работает?
@АлександрБорисов-з9е
@АлександрБорисов-з9е 21 күн бұрын
Полагаю, так сделано просто для примера, как это работает. В рабочем проекте массив stages был бы примерно в таком порядке - prepare, cache, test, code-scan, migration, build, clean-up, appsec, deploy, release
@maximkoltsov9833
@maximkoltsov9833 Ай бұрын
Прям согласен с тобой, тоже обожаю Docker compose) Без него проектов меня не бывает) В крайностях если только если ручками запускать с помощью systemctl Было бы интересно узнать, какие практики ты используешь для защиты сервера и уязвимостей докера
@kirilltyupaev2447
@kirilltyupaev2447 Ай бұрын
А на сколько норм запускать gitlab-runer на проде? Если в более реальных условиях, если есть пользователи которые пользуются приложением, в этот момент билд докера и прогон тестов-линтеров создают повышенную нагрузку на сервер.
@MrMikhailDJ
@MrMikhailDJ Ай бұрын
Решение: просто использовать отдельный сервер под сборку. Я в Gitlab CI плохо понимаю, но эти раннеры по своей сути аналог агентов в Jenkins. Обычно билд сервер с агентом отдельный используется, где происходит сборка и деплой на целевые сервера, например, продовский с приложением
@itheandrey
@itheandrey Ай бұрын
Ни на сколько. Смысл запуска runner на своём сервере только в экономии средств и настройке окружения. Облачная версия со всем справляется, у неё есть только квота минут. Автор видео не осилил сборку образа в облаке и загрузку его в gitlab registry...
@1995taunus
@1995taunus 28 күн бұрын
Что такое джоба? Имеете ввиду джоб (job)? Сорри, совсем сленг не знаю.
@artemshumeiko
@artemshumeiko 28 күн бұрын
да
@rudinandrey
@rudinandrey Ай бұрын
в целом да, сам процесс описан, но блин Docker in docker это извращение какое то же, нет ?!?! и в целом все равно не понятно осталось, как он решает что тот сервис надо погасить, перебилдить и запустить, или это за счет того что там docker compose делается?
@DimaTiunov
@DimaTiunov Ай бұрын
Он ничего не решает без твоей команды Как опишешь в конфиге так и будет
@_test_test
@_test_test Ай бұрын
да, это через компоуз разруливается. контейнер то один и тот же, поэтому он один убивает, а другой запускает
@alexandrfominenkov8390
@alexandrfominenkov8390 Ай бұрын
DIND это хорошо
@rudinandrey
@rudinandrey Ай бұрын
@@alexandrfominenkov8390 чем? докер в докере, это виртуалка в виртуалке, что хорошего?
@stillenray
@stillenray Ай бұрын
Сделай видео как добиться деплоймента без отключение или перезапуска сервиса
@nixaristix1819
@nixaristix1819 Ай бұрын
как-то это все бесплатно можно сделать, чтобы за аренду не платить? Чисто в целях самообучения
@artemshumeiko
@artemshumeiko 29 күн бұрын
на собственном ПК запустить gitlab runner а вообще, сервер можно купить за 300 рублей, оно того стоит
@IamCutePanda
@IamCutePanda 17 күн бұрын
Docker не хочет работать из СНГ
@zaskilovan
@zaskilovan Ай бұрын
Отличное видео! А будет такое же, но по настройке Github Actions ?
@artemshumeiko
@artemshumeiko Ай бұрын
нет. А зачем?
@zaskilovan
@zaskilovan Ай бұрын
@@artemshumeiko На сколько я знаю, там синтаксис отличается от гитлабовского. Просто если у тебя уже проект на GitHub, если ли смысл переходить ради CI CD на GitLab
@artemshumeiko
@artemshumeiko Ай бұрын
@@zaskilovan у вас на работе GitHub используется для хранения кода?
@zaskilovan
@zaskilovan Ай бұрын
@@artemshumeiko Я пока только учусь, по этому ещё не встречался с GitLab
@artemshumeiko
@artemshumeiko Ай бұрын
лучше сразу с него начинать, чтобы на работе меньше учить)
@prepin
@prepin Ай бұрын
Артём, а ты смотрел на Kamal? Выглядит очень хорошо.
@dmitry9463
@dmitry9463 Ай бұрын
Подскажи, ты пользуешься мышкой или тачпадом? Если мышкой, то какой?
@Chel1k7
@Chel1k7 Ай бұрын
Допустим он скажет что x7, дальше что? Пойдешь в магазин за такой же?
@artemshumeiko
@artemshumeiko Ай бұрын
мышкой logitech, покупал на озоне за 2к я не придаю значение клаве и мышке
@0limjon
@0limjon Ай бұрын
Спасибо за ролик. Вопрос а как выбрать url на который я буду деплоить? Я просто не заметил Nginx конфига
@artemshumeiko
@artemshumeiko Ай бұрын
в этом ролике мы не настраиваем домен и ssl сертификаты Об этом я рассказывал в видео про деплой: kzbin.info/www/bejne/q33TXq2dqMqnZpI
@DavidCohen-ux8tz
@DavidCohen-ux8tz Ай бұрын
У мире DevOps, какие дистры Linux часто используются ? .
@artemshumeiko
@artemshumeiko Ай бұрын
Ubuntu
@andrewzh4660
@andrewzh4660 6 күн бұрын
ох, кидайтесь в меня какашками, но мне больше нравится на базе RHEL. Для серверов AlmaLinux, для компа Fedora
@fila7yt
@fila7yt Ай бұрын
Давай видео про кубер
@Katar1x
@Katar1x Ай бұрын
+++
@ХанасисЕвгений
@ХанасисЕвгений Ай бұрын
+++
@_test_test
@_test_test Ай бұрын
чет селектел какой то дорогой. та же вдсина с сервером в рф существенно интереснее 1 core 1 Gb 10 Gb 32 Tb * 2 ₽ / день 69 ₽ / месяц Заказать
@naivrick9782
@naivrick9782 Ай бұрын
69руб?)
@_test_test
@_test_test Ай бұрын
@@naivrick9782 так специально для извращенцев, которые любят с таким возиться. но если без шуток, то арендую там европейский сервер и оно действительно так дешево. для каких нибудь тг ботов подойдет, но что то сурьезное там хостить я б конечно не стал:D
@hsqlk
@hsqlk Ай бұрын
Чет слишком дешево
@pinfold3201
@pinfold3201 Ай бұрын
согласен, далеко не самый дешевый сервис
@mideks
@mideks Ай бұрын
это где это ты за 70 нашёл? звучит не очень надёжно
@Wander_Candy
@Wander_Candy Ай бұрын
Давай теперь CircleCI
@faritavtakhov5115
@faritavtakhov5115 Ай бұрын
Спасибо за видео, не хватает видео про мониторинг сервисов. Healthcheck, графана
@netsdevs6210
@netsdevs6210 Ай бұрын
Странно, что там Руби появился. Гитлаб работает на Руби штоле?
@raufhashimov241
@raufhashimov241 Ай бұрын
Ну как работает, Гитлаб написан на рубине
@biLLie_wiLLie
@biLLie_wiLLie Ай бұрын
К сожалению не заработало у меня. Может что-то не так делаю
@stereovictoryasmr
@stereovictoryasmr Ай бұрын
Не хватило примера использования env файла на реальном примере
@artemshumeiko
@artemshumeiko Ай бұрын
приходите на курс, там подробно изучаем CI/CD: artemshumeiko.ru
@loshok17
@loshok17 22 күн бұрын
docker build в 2024 лютий пон
@Alex.Shalda
@Alex.Shalda Ай бұрын
Давай что-нибудь посложнее Хотя бы как убрать downtime
@artemshumeiko
@artemshumeiko Ай бұрын
кубер в помощь
@MrMikhailDJ
@MrMikhailDJ Ай бұрын
Если без кубера, то можно использовать nginx/haproxy в качестве балансировщика нагрузки и применять сине-зелёные развёртывания. Дожидаться, когда контейнер с новой версией приложения установится и будет доступ и маршрутизировать трафик на новый, удаляя старый. Что кубер что этот способ подразумевает какие-то навыки в области администрирования. Но даже так без кубера будет быстрее реализовать, если вообще не шаришь
@Alex.Shalda
@Alex.Shalda Ай бұрын
@@MrMikhailDJ спасибо за совет ))
@igorolikov1997
@igorolikov1997 Ай бұрын
@@Alex.Shalda docker swarm вроде умеет бесшовный деплой делать
@pinfold3201
@pinfold3201 Ай бұрын
а я всегда в кубере все разворачиваю, хоть и понимаю что в большинстве случаев это излишне. Хз почему
@artemshumeiko
@artemshumeiko Ай бұрын
senior type shit :)
@methamorph
@methamorph Ай бұрын
да елы палы :-( опять про гитлаб, а если его нет :-)
@artemshumeiko
@artemshumeiko Ай бұрын
А что у вас?
@sergeishmelev8000
@sergeishmelev8000 Ай бұрын
@@artemshumeiko у меня github, на gitlab не зарегаться нынче....
@ФилиппБондарев
@ФилиппБондарев Ай бұрын
Может у меня плохое настроение, но какого дьявола были добавлены эти субтитры внизу? (Чёрная плашка, жёлтые буквы) Раздражает очень сильно.
@nickouteen
@nickouteen Ай бұрын
в настройках берешь и отключаешь. В чем проблема?
@ФилиппБондарев
@ФилиппБондарев Ай бұрын
@@nickouteen А ещё больше раздражают такие комментаторы... Будьте добры, перечитайте ещё раз, что я написал и начните смотреть видео...
@romanosipov9087
@romanosipov9087 Ай бұрын
Явно дело в настроении😅
@ЮрійЄвтушенко-л6е
@ЮрійЄвтушенко-л6е Ай бұрын
Очень интересное видео, интересно как бы объединить frontend и backend такой схемой но чтобы они были в разных репозиториях ибо docker-compose один , а репозитория два
@mideks
@mideks Ай бұрын
хм, ну по идеи можно собирать контейнеры отдельно друг от друга, и в докер композе уже подгружать с докерхаба или с другого сервиса с контейнерами. другой вопрос где тогда размещать композ... хз, может даже в отдельном репо?
@ЮрійЄвтушенко-л6е
@ЮрійЄвтушенко-л6е Ай бұрын
@@mideks о да надо подумать
@mideks
@mideks Ай бұрын
а надо ли фронт и бэк разделять на два репо? 🤔🤔🤔🤔🤔🤔
@ЮрійЄвтушенко-л6е
@ЮрійЄвтушенко-л6е Ай бұрын
@@mideks Тоже вопрос интересный
@garbuzkarapuz
@garbuzkarapuz Ай бұрын
Да нафиг он нам ваш компост и не нужон
CI/CD - Простым языком на понятном примере
15:29
Артём Шумейко
Рет қаралды 109 М.
FOREVER BUNNY
00:14
Natan por Aí
Рет қаралды 18 МЛН
Каха и лужа  #непосредственнокаха
00:15
Кто круче, как думаешь?
00:44
МЯТНАЯ ФАНТА
Рет қаралды 5 МЛН
CI CD наглядные примеры
22:08
Ulbi TV
Рет қаралды 296 М.
Устройство сети в Kubernetes
22:08
Check Point CheckMates in Russian
Рет қаралды 12 М.
Docker Для Начинающих за 1 Час | Docker с Нуля
52:43
Визитка программиста
19:40
Александр Красников
Рет қаралды 165 М.
FOREVER BUNNY
00:14
Natan por Aí
Рет қаралды 18 МЛН