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

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 117

  • @artemshumeiko
    @artemshumeiko  Місяць тому +2

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

  • @ItSpecialist-on1bd
    @ItSpecialist-on1bd Місяць тому +11

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

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

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

  • @testikarus
    @testikarus 2 дні тому

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

  • @Fair-Wez
    @Fair-Wez 13 днів тому

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

  • @Haskiken4370
    @Haskiken4370 9 днів тому

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

  • @agabekshamuratov4532
    @agabekshamuratov4532 Місяць тому +6

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

  • @brazenoptimist
    @brazenoptimist Місяць тому

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

  • @ilyuhalive7724
    @ilyuhalive7724 Місяць тому

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

  • @ILyaCyclone
    @ILyaCyclone Місяць тому +3

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

    • @artemshumeiko
      @artemshumeiko  Місяць тому

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

    • @ILyaCyclone
      @ILyaCyclone Місяць тому

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

    • @itheandrey
      @itheandrey Місяць тому

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

  • @dogedoge6817
    @dogedoge6817 Місяць тому

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

  • @Katar1x
    @Katar1x Місяць тому +6

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

    • @artemshumeiko
      @artemshumeiko  Місяць тому +2

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

    • @andreivasilevitsky3477
      @andreivasilevitsky3477 Місяць тому

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

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

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

    • @LionKingheh
      @LionKingheh Місяць тому

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

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

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

  • @HelgaPolikova
    @HelgaPolikova Місяць тому

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

  • @ЕгорАфанасьев-ш4ж
    @ЕгорАфанасьев-ш4ж Місяць тому

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

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

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

  • @oRiGiNaLMrInsaf
    @oRiGiNaLMrInsaf Місяць тому

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

    • @АлександрБорисов-з9е
      @АлександрБорисов-з9е 24 дні тому +1

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

  • @maximkoltsov9833
    @maximkoltsov9833 Місяць тому

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

  • @spirit3064
    @spirit3064 Місяць тому

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

  • @Alsurnov
    @Alsurnov 5 днів тому +1

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

  • @Balda666
    @Balda666 Місяць тому +5

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

  • @hsqlk
    @hsqlk Місяць тому +2

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

  • @ПавелКарижский-ц3х
    @ПавелКарижский-ц3х Місяць тому

    Очень круто!

  • @zaskilovan
    @zaskilovan Місяць тому

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

    • @artemshumeiko
      @artemshumeiko  Місяць тому

      нет. А зачем?

    • @zaskilovan
      @zaskilovan Місяць тому

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

    • @artemshumeiko
      @artemshumeiko  Місяць тому

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

    • @zaskilovan
      @zaskilovan Місяць тому

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

    • @artemshumeiko
      @artemshumeiko  Місяць тому +1

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

  • @alexbulavin543
    @alexbulavin543 Місяць тому

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

  • @sergeyplotnikov4303
    @sergeyplotnikov4303 Місяць тому

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

  • @breakz849
    @breakz849 11 днів тому

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

  • @dmitry9463
    @dmitry9463 Місяць тому

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

    • @Chel1k7
      @Chel1k7 Місяць тому +1

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

    • @artemshumeiko
      @artemshumeiko  Місяць тому

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

  • @prepin
    @prepin Місяць тому

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

  • @JohnSmith-z9m
    @JohnSmith-z9m Місяць тому

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

  • @kirilltyupaev2447
    @kirilltyupaev2447 Місяць тому +1

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

    • @MrMikhailDJ
      @MrMikhailDJ Місяць тому

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

    • @itheandrey
      @itheandrey Місяць тому +1

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

  • @stillenray
    @stillenray Місяць тому

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

  • @rinovttcompilations
    @rinovttcompilations Місяць тому +7

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

    • @kyatskovskiywork
      @kyatskovskiywork 28 днів тому

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

    • @Nick87rus
      @Nick87rus 27 днів тому +1

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

  • @0limjon
    @0limjon Місяць тому

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

    • @artemshumeiko
      @artemshumeiko  Місяць тому

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

  • @rudinandrey
    @rudinandrey Місяць тому +5

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

    • @DimaTiunov
      @DimaTiunov Місяць тому

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

    • @_test_test
      @_test_test Місяць тому +2

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

    • @alexandrfominenkov8390
      @alexandrfominenkov8390 Місяць тому +1

      DIND это хорошо

    • @rudinandrey
      @rudinandrey Місяць тому

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

  • @faritavtakhov5115
    @faritavtakhov5115 Місяць тому +1

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

  • @fila7yt
    @fila7yt Місяць тому +9

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

  • @ВладОо-ю7п
    @ВладОо-ю7п 22 дні тому

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

  • @1995taunus
    @1995taunus Місяць тому

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

  • @DavidCohen-ux8tz
    @DavidCohen-ux8tz Місяць тому

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

    • @artemshumeiko
      @artemshumeiko  Місяць тому +1

      Ubuntu

    • @andrewzh4660
      @andrewzh4660 8 днів тому

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

  • @nixaristix1819
    @nixaristix1819 Місяць тому

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

    • @artemshumeiko
      @artemshumeiko  Місяць тому

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

  • @_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 19 днів тому

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

  • @netsdevs6210
    @netsdevs6210 Місяць тому

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

    • @raufhashimov241
      @raufhashimov241 Місяць тому

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

  • @ЮрійЄвтушенко-л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

  • @loshok17
    @loshok17 25 днів тому

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

  • @biLLie_wiLLie
    @biLLie_wiLLie Місяць тому

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

  • @stereovictoryasmr
    @stereovictoryasmr Місяць тому

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

    • @artemshumeiko
      @artemshumeiko  Місяць тому

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

  • @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 вроде умеет бесшовный деплой делать

  • @pinfold3201
    @pinfold3201 Місяць тому

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

  • @methamorph
    @methamorph Місяць тому

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

    • @artemshumeiko
      @artemshumeiko  Місяць тому

      А что у вас?

    • @sergeishmelev8000
      @sergeishmelev8000 Місяць тому

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

  • @ФилиппБондарев
    @ФилиппБондарев Місяць тому

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

    • @nickouteen
      @nickouteen Місяць тому

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

    • @ФилиппБондарев
      @ФилиппБондарев Місяць тому

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

    • @romanosipov9087
      @romanosipov9087 Місяць тому +7

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