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

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ธ.ค. 2024

ความคิดเห็น • 128

  • @artemshumeiko
    @artemshumeiko  2 หลายเดือนก่อน +2

    🔥 Забирай разбор production Python кода от меня бесплатно, напиши слово ПРОДАКШН в тг-боте: t.me/ArtemShumeikoBot
    🎓 Обучение самым современным и востребованным технологиям, которые нужны backend разработчику, на практике: artemshumeiko.ru

  • @ItSpecialist-on1bd
    @ItSpecialist-on1bd 2 หลายเดือนก่อน +14

    Удивительно, но для меня это было одно из самых полезных видео, ибо практика прекрвсная. Спасибо, буду ждать еще видео :)

  • @ЕвгенийБулатов-в1л
    @ЕвгенийБулатов-в1л 2 หลายเดือนก่อน +5

    Просто превосходно. За 20 мин понял больше чем читал.

  • @АртурДуйшеев
    @АртурДуйшеев 7 วันที่ผ่านมา

    Артем, видео очень интересное и познавательное, спасибо за ваш труд, хотелось бы еще послушать про Jenkins и посмотреть, как его настраивать 🔥🔥🔥🔥

  • @Haskiken4370
    @Haskiken4370 หลายเดือนก่อน

    Черт, ты объясняешь довольно просто и ясно. Жаль пока не выполнил это

  • @testikarus
    @testikarus หลายเดือนก่อน

    Спасибо за Ваш труд! Коммент в поддержку канала.

  • @Anuar-fj6mt
    @Anuar-fj6mt 4 วันที่ผ่านมา

    красава! коротко и четко! mvp!

  • @agabekshamuratov4532
    @agabekshamuratov4532 2 หลายเดือนก่อน +6

    круто, теперь ждем k8s

  • @tenmaxim1904
    @tenmaxim1904 14 ชั่วโมงที่ผ่านมา

    Ппц ты монстр!)) 👍👍👍

  • @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 หลายเดือนก่อน +1

    Интересно а как добавить .env при всем этом деплое?

  • @ES-ng3el
    @ES-ng3el 28 วันที่ผ่านมา

    Спасибо. Полезно

  • @Balda666
    @Balda666 2 หลายเดือนก่อน +5

    Ну с таким пайпом даже до тестового не доедешь )))

  • @dien0000
    @dien0000 10 วันที่ผ่านมา

    после пуш, фикс сразу попадает в пайплайн и потом в дев или майн ветку для клиента, если пайплайн по ci/cd норм прошло?

  • @breakz849
    @breakz849 หลายเดือนก่อน +1

    "поняли" - ничего мы не поняли, но ознакомились.

  • @Katar1x
    @Katar1x 2 หลายเดือนก่อน +6

    Сделай еще сжатый обзор github actions, ибо для большинства начинающих будет большим плюсом, если в пет проекте для собеса будет ci\cd)
    Я думаю там есть некоторые различия, в частности по раннеру

    • @artemshumeiko
      @artemshumeiko  2 หลายเดือนก่อน +3

      Зачем? Кто использует 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 หลายเดือนก่อน

    Артём, спасибо вам. Отличный материал и подача. Где взять такую же классную футболку?😂

  • @fila7yt
    @fila7yt 2 หลายเดือนก่อน +11

    Давай видео про кубер

  • @ILyaCyclone
    @ILyaCyclone 2 หลายเดือนก่อน +3

    Спасибо, хорошее видео.
    На мой взгляд, необходимо пояснять, по какой причине мы выбираем настройки: 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 หลายเดือนก่อน +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 หลายเดือนก่อน +1

      лучше сразу с него начинать, чтобы на работе меньше учить)

  • @stillenray
    @stillenray 2 หลายเดือนก่อน

    Сделай видео как добиться деплоймента без отключение или перезапуска сервиса

  • @oRiGiNaLMrInsaf
    @oRiGiNaLMrInsaf 2 หลายเดือนก่อน

    Спасибо за видео! У меня вопрос:
    Не проще ли запускать тесты до сборки (build)?
    Я смотрю на примера фронта, build-которого создаст бандл для отдачи клиенту, в нем (в бандле, который получился после build) тесты уже не прогонишь, т.е. тесты нужно прогонять все равно отдельно, вне бандла и, если тесты упадут, то build придется перегонять заново после внесения изменений.
    Как будто прогнав вначале тесты мы сэкономим время, или это только на фронте так работает?

    • @АлександрБорисов-з9е
      @АлександрБорисов-з9е หลายเดือนก่อน +1

      Полагаю, так сделано просто для примера, как это работает.
      В рабочем проекте массив 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 หลายเดือนก่อน +1

    А на сколько норм запускать gitlab-runer на проде? Если в более реальных условиях, если есть пользователи которые пользуются приложением, в этот момент билд докера и прогон тестов-линтеров создают повышенную нагрузку на сервер.

    • @MrMikhailDJ
      @MrMikhailDJ 2 หลายเดือนก่อน

      Решение: просто использовать отдельный сервер под сборку. Я в Gitlab CI плохо понимаю, но эти раннеры по своей сути аналог агентов в Jenkins. Обычно билд сервер с агентом отдельный используется, где происходит сборка и деплой на целевые сервера, например, продовский с приложением

    • @itheandrey
      @itheandrey 2 หลายเดือนก่อน +1

      Ни на сколько. Смысл запуска runner на своём сервере только в экономии средств и настройке окружения. Облачная версия со всем справляется, у неё есть только квота минут. Автор видео не осилил сборку образа в облаке и загрузку его в gitlab registry...

  • @maximkoltsov9833
    @maximkoltsov9833 2 หลายเดือนก่อน

    Прям согласен с тобой, тоже обожаю Docker compose)
    Без него проектов меня не бывает)
    В крайностях если только если ручками запускать с помощью systemctl
    Было бы интересно узнать, какие практики ты используешь для защиты сервера и уязвимостей докера

  • @1995taunus
    @1995taunus 2 หลายเดือนก่อน

    Что такое джоба? Имеете ввиду джоб (job)? Сорри, совсем сленг не знаю.

  • @DavidCohen-ux8tz
    @DavidCohen-ux8tz 2 หลายเดือนก่อน

    У мире DevOps, какие дистры Linux часто используются ? .

    • @artemshumeiko
      @artemshumeiko  2 หลายเดือนก่อน +1

      Ubuntu

    • @andrewzh4660
      @andrewzh4660 หลายเดือนก่อน

      ох, кидайтесь в меня какашками, но мне больше нравится на базе RHEL. Для серверов AlmaLinux, для компа Fedora

  • @Fair-Wez
    @Fair-Wez หลายเดือนก่อน +1

    Хотелось бы больше видео по настройке ci/cd.
    Теги, ветки, конфигурационные файлы разных веток)
    Спасибо за ролик👍

  • @0limjon
    @0limjon 2 หลายเดือนก่อน

    Спасибо за ролик. Вопрос а как выбрать url на который я буду деплоить? Я просто не заметил Nginx конфига

    • @artemshumeiko
      @artemshumeiko  2 หลายเดือนก่อน

      в этом ролике мы не настраиваем домен и ssl сертификаты
      Об этом я рассказывал в видео про деплой: th-cam.com/video/uLp-zgset00/w-d-xo.html

  • @dmitry9463
    @dmitry9463 2 หลายเดือนก่อน

    Подскажи, ты пользуешься мышкой или тачпадом? Если мышкой, то какой?

    • @Chel1k7
      @Chel1k7 2 หลายเดือนก่อน +1

      Допустим он скажет что x7, дальше что? Пойдешь в магазин за такой же?

    • @artemshumeiko
      @artemshumeiko  2 หลายเดือนก่อน

      мышкой logitech, покупал на озоне за 2к
      я не придаю значение клаве и мышке

  • @prepin
    @prepin 2 หลายเดือนก่อน

    Артём, а ты смотрел на Kamal? Выглядит очень хорошо.

  • @nixaristix1819
    @nixaristix1819 2 หลายเดือนก่อน

    как-то это все бесплатно можно сделать, чтобы за аренду не платить? Чисто в целях самообучения

    • @artemshumeiko
      @artemshumeiko  2 หลายเดือนก่อน

      на собственном ПК запустить gitlab runner
      а вообще, сервер можно купить за 300 рублей, оно того стоит

  • @rudinandrey
    @rudinandrey 2 หลายเดือนก่อน +5

    в целом да, сам процесс описан, но блин Docker in docker это извращение какое то же, нет ?!?!
    и в целом все равно не понятно осталось, как он решает что тот сервис надо погасить, перебилдить и запустить, или это за счет того что там docker compose делается?

    • @DimaTiunov
      @DimaTiunov 2 หลายเดือนก่อน

      Он ничего не решает без твоей команды
      Как опишешь в конфиге так и будет

    • @_test_test
      @_test_test 2 หลายเดือนก่อน +2

      да, это через компоуз разруливается. контейнер то один и тот же, поэтому он один убивает, а другой запускает

    • @alexandrfominenkov8390
      @alexandrfominenkov8390 2 หลายเดือนก่อน +1

      DIND это хорошо

    • @rudinandrey
      @rudinandrey 2 หลายเดือนก่อน

      @@alexandrfominenkov8390 чем? докер в докере, это виртуалка в виртуалке, что хорошего?

  • @rinovttcompilations
    @rinovttcompilations 2 หลายเดือนก่อน +7

    При запуске пайплайна просит верифицироваться. Я выбрал способ через мобильный телефон, через РФ причём нельзя это сделать, арендовал номер, ввёл, в итоге меня перекинуло на способ верификации через кредитную карту, которой у меня нет. И что делать!

    • @kyatskovskiywork
      @kyatskovskiywork หลายเดือนก่อน

      Ты используешь облачные раннеры гитлаба, надо использовать specify раннер который автор устанавливал в уроке
      И отключить переключатель Enable instance runners for this project в настройках проекта/ci-cd
      Остальную настройку очень долго объяснять, дальше уже сам. Но проблема в этом

    • @Nick87rus
      @Nick87rus หลายเดือนก่อน +1

      Дружище, ты смог решить эту проблему?

    • @slimo8783
      @slimo8783 11 ชั่วโมงที่ผ่านมา

      @@Nick87rus я решил, но развертыванием своего инстанса гитлаба :)

  • @IamCutePanda
    @IamCutePanda หลายเดือนก่อน

    Docker не хочет работать из СНГ

  • @netsdevs6210
    @netsdevs6210 2 หลายเดือนก่อน

    Странно, что там Руби появился. Гитлаб работает на Руби штоле?

    • @raufhashimov241
      @raufhashimov241 2 หลายเดือนก่อน

      Ну как работает, Гитлаб написан на рубине

  • @_test_test
    @_test_test 2 หลายเดือนก่อน +5

    чет селектел какой то дорогой.
    та же вдсина с сервером в рф существенно интереснее
    1 core
    1 Gb
    10 Gb
    32 Tb *
    2 ₽ / день
    69 ₽ / месяц
    Заказать

    • @naivrick9782
      @naivrick9782 2 หลายเดือนก่อน

      69руб?)

    • @_test_test
      @_test_test 2 หลายเดือนก่อน

      @@naivrick9782 так специально для извращенцев, которые любят с таким возиться. но если без шуток, то арендую там европейский сервер и оно действительно так дешево. для каких нибудь тг ботов подойдет, но что то сурьезное там хостить я б конечно не стал:D

    • @hsqlk
      @hsqlk 2 หลายเดือนก่อน +1

      Чет слишком дешево

    • @pinfold3201
      @pinfold3201 2 หลายเดือนก่อน +1

      согласен, далеко не самый дешевый сервис

    • @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 หลายเดือนก่อน +2

      Если без кубера, то можно использовать nginx/haproxy в качестве балансировщика нагрузки и применять сине-зелёные развёртывания. Дожидаться, когда контейнер с новой версией приложения установится и будет доступ и маршрутизировать трафик на новый, удаляя старый. Что кубер что этот способ подразумевает какие-то навыки в области администрирования. Но даже так без кубера будет быстрее реализовать, если вообще не шаришь

    • @Alex.Shalda
      @Alex.Shalda 2 หลายเดือนก่อน +1

      @@MrMikhailDJ спасибо за совет ))

    • @igorolikov1997
      @igorolikov1997 2 หลายเดือนก่อน +1

      @@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 หลายเดือนก่อน +1

    Спасибо за видео, не хватает видео про мониторинг сервисов. Healthcheck, графана

  • @ЮрійЄвтушенко-л6е
    @ЮрійЄвтушенко-л6е 2 หลายเดือนก่อน +2

    Очень интересное видео, интересно как бы объединить frontend и backend такой схемой но чтобы они были в разных репозиториях ибо docker-compose один , а репозитория два

    • @mideks
      @mideks 2 หลายเดือนก่อน +1

      хм, ну по идеи можно собирать контейнеры отдельно друг от друга, и в докер композе уже подгружать с докерхаба или с другого сервиса с контейнерами. другой вопрос где тогда размещать композ... хз, может даже в отдельном репо?

    • @ЮрійЄвтушенко-л6е
      @ЮрійЄвтушенко-л6е 2 หลายเดือนก่อน +1

      @@mideks о да надо подумать

    • @mideks
      @mideks 2 หลายเดือนก่อน

      а надо ли фронт и бэк разделять на два репо? 🤔🤔🤔🤔🤔🤔

    • @ЮрійЄвтушенко-л6е
      @ЮрійЄвтушенко-л6е 2 หลายเดือนก่อน

      @@mideks Тоже вопрос интересный

    • @garbuzkarapuz
      @garbuzkarapuz 2 หลายเดือนก่อน

      Да нафиг он нам ваш компост и не нужон

  • @ФилиппБондарев
    @ФилиппБондарев 2 หลายเดือนก่อน

    Может у меня плохое настроение, но какого дьявола были добавлены эти субтитры внизу? (Чёрная плашка, жёлтые буквы) Раздражает очень сильно.

    • @nickouteen
      @nickouteen 2 หลายเดือนก่อน

      в настройках берешь и отключаешь. В чем проблема?

    • @ФилиппБондарев
      @ФилиппБондарев 2 หลายเดือนก่อน

      @@nickouteen А ещё больше раздражают такие комментаторы... Будьте добры, перечитайте ещё раз, что я написал и начните смотреть видео...

    • @dzentsetsu
      @dzentsetsu 2 หลายเดือนก่อน +7

      Явно дело в настроении😅

  • @DrDiVra
    @DrDiVra 3 วันที่ผ่านมา

    А теперь весело попробуйте написать код для многоуровневого сервиса хотя-бы под балансировку, где один микросервис под windows, другая под linux с сегментацией сети между микросервисами и их взаимодействием через DNS, чтобы в браузере на IP на заходить. А то, что тут показывают это не CI/CD - это жонглирование поверхностной терминологией для кэлхер джунов. И вот таких, кто сразу льё фичу на прод окружение обычно выгоняют в конце спринта на мороз.