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

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

Комментарии • 118

  • @artemshumeiko
    @artemshumeiko  Месяц назад +2

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

  • @ItSpecialist-on1bd
    @ItSpecialist-on1bd Месяц назад +12

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

  • @ЕвгенийБулатов-в1л
    @ЕвгенийБулатов-в1л Месяц назад +3

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

  • @Fair-Wez
    @Fair-Wez 16 дней назад

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

  • @testikarus
    @testikarus 4 дня назад

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

  • @Haskiken4370
    @Haskiken4370 11 дней назад

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

  • @brazenoptimist
    @brazenoptimist Месяц назад

    Спасибо большое за такой крутой видос! Ждал этого очень!!! 🎉 Может покажусь ленивым, но было бы славно, если бы была сборочка материала по теме 🥹

  • @agabekshamuratov4532
    @agabekshamuratov4532 Месяц назад +6

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

  • @ilyuhalive7724
    @ilyuhalive7724 Месяц назад

    Огонь, спасибо! Выглядит лихо. Я пока только учусь. git + pycharm. Буду учиться вкручивать это все в ci cd

  • @ES-ng3el
    @ES-ng3el День назад

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

  • @dogedoge6817
    @dogedoge6817 Месяц назад

    Видео просто кайф, очень быстро и информативно

  • @spirit3064
    @spirit3064 Месяц назад

    Как всегда на высоте Артём.

  • @ДмитрийДавыдов-т5з
    @ДмитрийДавыдов-т5з Месяц назад

    Лучший! Спасибо большое за знания!

  • @Alsurnov
    @Alsurnov 8 дней назад +1

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

  • @ILyaCyclone
    @ILyaCyclone Месяц назад +3

    Спасибо, хорошее видео.
    На мой взгляд, необходимо пояснять, по какой причине мы выбираем настройки: 11:50 runner executor, 12:08 docker:dind, 12:30 volumes. По крайней мере кратко, иначе это просто некий magic code.
    Репозиторий проекта где-то доступен?

    • @artemshumeiko
      @artemshumeiko  Месяц назад

      Да, в описании есть ссылка на репозиторий

    • @ILyaCyclone
      @ILyaCyclone Месяц назад

      @@artemshumeiko Поясните указанные моменты?

    • @itheandrey
      @itheandrey Месяц назад

      Чувствую, ответа мы не дождёмся...

  • @Katar1x
    @Katar1x Месяц назад +6

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

    • @artemshumeiko
      @artemshumeiko  Месяц назад +3

      Зачем? Кто использует GitHub actions в реальном мире?

    • @andreivasilevitsky3477
      @andreivasilevitsky3477 Месяц назад

      @@artemshumeiko я) на самом деле много компаний используют github actions

    • @АнтонВитальевич-т7к
      @АнтонВитальевич-т7к Месяц назад

      ​@@artemshumeikoа что с ним не так? Как быть если проект изначально хранится на GitHub?

    • @LionKingheh
      @LionKingheh Месяц назад

      @@АнтонВитальевич-т7к перенеси на гитлаб

    • @АнтонВитальевич-т7к
      @АнтонВитальевич-т7к Месяц назад

      @@LionKingheh так а зачем всё-таки, если на GitHub есть все тоже самое? Чем он отличается или хуже?

  • @sergeyplotnikov4303
    @sergeyplotnikov4303 Месяц назад

    Большое спасибо!

  • @alexbulavin543
    @alexbulavin543 Месяц назад

    Великолепно!
    👏👏👏👍🔥

  • @hsqlk
    @hsqlk Месяц назад +2

    Selectel бесплатно дают белый IP адрес, что-то не видел его в общей стоимости?

  • @maximkoltsov9833
    @maximkoltsov9833 Месяц назад

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

  • @ЕгорАфанасьев-ш4ж
    @ЕгорАфанасьев-ш4ж Месяц назад

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

  • @ПавелКарижский-ц3х
    @ПавелКарижский-ц3х Месяц назад

    Очень круто!

  • @oRiGiNaLMrInsaf
    @oRiGiNaLMrInsaf Месяц назад

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

    • @АлександрБорисов-з9е
      @АлександрБорисов-з9е 26 дней назад +1

      Полагаю, так сделано просто для примера, как это работает.
      В рабочем проекте массив stages был бы примерно в таком порядке - prepare, cache, test, code-scan, migration, build, clean-up, appsec, deploy, release

  • @JohnSmith-z9m
    @JohnSmith-z9m Месяц назад

    Круто, спасибо!

  • @stillenray
    @stillenray Месяц назад

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

  • @Balda666
    @Balda666 Месяц назад +5

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

  • @prepin
    @prepin Месяц назад

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

  • @zaskilovan
    @zaskilovan Месяц назад

    Отличное видео! А будет такое же, но по настройке Github Actions ?

    • @artemshumeiko
      @artemshumeiko  Месяц назад

      нет. А зачем?

    • @zaskilovan
      @zaskilovan Месяц назад

      @@artemshumeiko На сколько я знаю, там синтаксис отличается от гитлабовского. Просто если у тебя уже проект на GitHub, если ли смысл переходить ради CI CD на GitLab

    • @artemshumeiko
      @artemshumeiko  Месяц назад

      @@zaskilovan у вас на работе GitHub используется для хранения кода?

    • @zaskilovan
      @zaskilovan Месяц назад

      @@artemshumeiko Я пока только учусь, по этому ещё не встречался с GitLab

    • @artemshumeiko
      @artemshumeiko  Месяц назад +1

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

  • @HelgaPolikova
    @HelgaPolikova Месяц назад

    несколько лет делала такие процессы - только сейчас узнала, что это оказывается CI/CD 😂

  • @kirilltyupaev2447
    @kirilltyupaev2447 Месяц назад +1

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

    • @MrMikhailDJ
      @MrMikhailDJ Месяц назад

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

    • @itheandrey
      @itheandrey Месяц назад +1

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

  • @1995taunus
    @1995taunus Месяц назад

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

  • @dmitry9463
    @dmitry9463 Месяц назад

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

    • @Chel1k7
      @Chel1k7 Месяц назад +1

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

    • @artemshumeiko
      @artemshumeiko  Месяц назад

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

  • @0limjon
    @0limjon Месяц назад

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

    • @artemshumeiko
      @artemshumeiko  Месяц назад

      в этом ролике мы не настраиваем домен и ssl сертификаты
      Об этом я рассказывал в видео про деплой: ruclips.net/video/uLp-zgset00/видео.html

  • @DavidCohen-ux8tz
    @DavidCohen-ux8tz Месяц назад

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

    • @artemshumeiko
      @artemshumeiko  Месяц назад +1

      Ubuntu

    • @andrewzh4660
      @andrewzh4660 11 дней назад

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

  • @fila7yt
    @fila7yt Месяц назад +9

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

  • @breakz849
    @breakz849 14 дней назад

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

  • @faritavtakhov5115
    @faritavtakhov5115 Месяц назад +1

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

  • @ВладОо-ю7п
    @ВладОо-ю7п 25 дней назад

    а как в гитлаб подтвердить аккаунт ?там требует выбрать страну России нет

  • @rudinandrey
    @rudinandrey Месяц назад +5

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

    • @DimaTiunov
      @DimaTiunov Месяц назад

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

    • @_test_test
      @_test_test Месяц назад +2

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

    • @alexandrfominenkov8390
      @alexandrfominenkov8390 Месяц назад +1

      DIND это хорошо

    • @rudinandrey
      @rudinandrey Месяц назад

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

  • @rinovttcompilations
    @rinovttcompilations Месяц назад +7

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

    • @kyatskovskiywork
      @kyatskovskiywork Месяц назад

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

    • @Nick87rus
      @Nick87rus Месяц назад +1

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

  • @_test_test
    @_test_test Месяц назад +5

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

    • @naivrick9782
      @naivrick9782 Месяц назад

      69руб?)

    • @_test_test
      @_test_test Месяц назад

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

    • @hsqlk
      @hsqlk Месяц назад +1

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

    • @pinfold3201
      @pinfold3201 Месяц назад +1

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

    • @mideks
      @mideks Месяц назад

      это где это ты за 70 нашёл? звучит не очень надёжно

  • @IamCutePanda
    @IamCutePanda 22 дня назад

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

  • @nixaristix1819
    @nixaristix1819 Месяц назад

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

    • @artemshumeiko
      @artemshumeiko  Месяц назад

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

  • @netsdevs6210
    @netsdevs6210 Месяц назад

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

    • @raufhashimov241
      @raufhashimov241 Месяц назад

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

  • @loshok17
    @loshok17 27 дней назад

    docker build в 2024 лютий пон

  • @ЮрійЄвтушенко-л6е
    @ЮрійЄвтушенко-л6е Месяц назад +2

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

    • @mideks
      @mideks Месяц назад +1

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

    • @ЮрійЄвтушенко-л6е
      @ЮрійЄвтушенко-л6е Месяц назад +1

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

    • @mideks
      @mideks Месяц назад

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

    • @ЮрійЄвтушенко-л6е
      @ЮрійЄвтушенко-л6е Месяц назад

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

    • @garbuzkarapuz
      @garbuzkarapuz Месяц назад

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

  • @Wander_Candy
    @Wander_Candy Месяц назад

    Давай теперь CircleCI

  • @Alex.Shalda
    @Alex.Shalda Месяц назад

    Давай что-нибудь посложнее
    Хотя бы как убрать downtime

    • @artemshumeiko
      @artemshumeiko  Месяц назад

      кубер в помощь

    • @MrMikhailDJ
      @MrMikhailDJ Месяц назад +2

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

    • @Alex.Shalda
      @Alex.Shalda Месяц назад +1

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

    • @igorolikov1997
      @igorolikov1997 Месяц назад +1

      @@Alex.Shalda docker swarm вроде умеет бесшовный деплой делать

  • @biLLie_wiLLie
    @biLLie_wiLLie Месяц назад

    К сожалению не заработало у меня. Может что-то не так делаю

  • @stereovictoryasmr
    @stereovictoryasmr Месяц назад

    Не хватило примера использования env файла на реальном примере

    • @artemshumeiko
      @artemshumeiko  Месяц назад

      приходите на курс, там подробно изучаем CI/CD: artemshumeiko.ru

  • @pinfold3201
    @pinfold3201 Месяц назад

    а я всегда в кубере все разворачиваю, хоть и понимаю что в большинстве случаев это излишне. Хз почему

  • @methamorph
    @methamorph Месяц назад

    да елы палы :-( опять про гитлаб, а если его нет :-)

    • @artemshumeiko
      @artemshumeiko  Месяц назад

      А что у вас?

    • @sergeishmelev8000
      @sergeishmelev8000 Месяц назад

      @@artemshumeiko у меня github, на gitlab не зарегаться нынче....

  • @ФилиппБондарев
    @ФилиппБондарев Месяц назад

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

    • @nickouteen
      @nickouteen Месяц назад

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

    • @ФилиппБондарев
      @ФилиппБондарев Месяц назад

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

    • @romanosipov9087
      @romanosipov9087 Месяц назад +7

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