CI/CD - Простым языком на понятном примере

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

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

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

    Приглашаю на мой Практический курс по Backend разработке по всем актуальным технологиям: artemshumeiko.ru

  • @sacredgr0v3
    @sacredgr0v3 Месяц назад +174

    Респект Травоману за то что помимо стримов улучшает комьюнити программистов !

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

      ахпахпахпахпахпахпахпа,божееее,чел ты гений просто

    • @alexandre-koss4125
      @alexandre-koss4125 Месяц назад +2

      ХААХАХХАХАХАХА

    • @user-fm7jl3ll9n
      @user-fm7jl3ll9n Месяц назад +2

      Бригаду сюда

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

      ahahahahahah

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

      ​@@user-fm7jl3ll9n есть такой ютубер-стример травоман по доте 2 и он похож на этого чела, и его целью было улучшать коммюнити играя на бесячем герое того времени (течис)

  • @Alexander-pf6nm
    @Alexander-pf6nm Месяц назад +32

    Хорошая подача, грамотная речь, доступное объяснение. Теперь ждем продробный разбор с примерами кода самого пайплайна.

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

    Классная подача, чистая речь, умение доносить мысль! Спасибо вам!
    Лайк и подписка

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

    Как же Вы здорово объясняете! Можно Вас попросить сделать практичный подробный видос про Git / Github где Вы также простыми словами понятно объясняете всю суть и показываете реальные кейсы. Интересно увидеть как Вы
    - загружаете Ваш проект на Гитхаб из Вашей IDE (возможно разными способами).
    - как подключаете SSH
    - как мерджите, пушите и тд
    - как работаете в терминале (разные команды)
    - rebase / cherry и тд

    • @yuryk9698
      @yuryk9698 17 дней назад

      к сожалению, такое можно познать только на практике, ищите проект и единомышленников, создавайте репозиторий и практикуйтесь

  • @karmandrey
    @karmandrey Месяц назад +19

    ОЧЕНЬ сильно ждем практику

  • @ВладимирМанзюк-р2л
    @ВладимирМанзюк-р2л Месяц назад +2

    То чувство, когда больше 5 лет работаешь по процессу, а потом узнаешь, что он называется модным словом CI/CD.
    А видос простой для понимания и познавательный.
    Круто

  • @kot_marmelad
    @kot_marmelad 17 дней назад +1

    Круто, круто. Примерил инфу на свой текущий проект. По полочкам удалось свои текущие знания разложить

  • @ВикторияИбраимова-ш5л

    Спасибо вам.Просто о сложном.Я -ручной тестировщик,пытаюсь набраться знаний,чтобы перейти в автоматизаторы на Python,чтобы найти новую работу,так как сейчас я только ручник. Уже немного умею писать автотесты для API и WEB.А вот CI/CD для меня темная лошадка.Теперь стало немного проще.Спасибо вам за уроки.

  • @АнтонМарценюк-п3т
    @АнтонМарценюк-п3т Месяц назад +3

    Здравствуйте! Большое спасибо за ваше полезное видео! У меня возник вопрос, который, думаю, будет интересен многим. Не могли бы вы рассказать о том, как правильно откатывать доработки (фичи), которые не прошли тестирование при использовании CI/CD? Какие существуют лучшие практики для минимизации рисков и ошибок в этом процессе? Очень хотелось бы увидеть ваше мнение и рекомендации по этой теме. Спасибо!

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

    Спасибо! Более грамотного и доступного объяснения я не нашел! Желаю тебе развития и процветания. Вроде бы и простую вещь объяснил, а понятно для новичков объяснить только ты смог)

  • @IvanBanifatsyeu
    @IvanBanifatsyeu 5 дней назад

    Реально очень крутая подача. Все по полочкам 👍

  • @aleksejsigaj1373
    @aleksejsigaj1373 23 дня назад +2

    На реальном проекте dev никогда не мержится в main :)
    В дев что только не валят, потом создается релезная ветка (еще наверняка с фичетоглами), тестировщики тестируют фичи своей команды, потом делают регресс тест и только после этого релейная ветка уходит в main и пользователи радуются новым фичам :)

  • @ruslanryapov6221
    @ruslanryapov6221 Месяц назад +4

    На мой взгляд, самое очевидное и понятное объяснение сложного и многосоставного процесса
    Артём, очень круто получилось! Продолжай так же 🎉

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

    Очень хорошо объясняете, спасибо вам огромное. Простым языком объяснили человеку без профильного образования, работающего в этой сфере 2 месяца)

  • @Cotucini
    @Cotucini Месяц назад +4

    спасибо, наконец-то хоть кто-то понятно объяснил )

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

    Наконец-то!!!! Хоть кто-то!!!! Доступно и понятно все обьяснил!!!! СПАСИБО!!!

  • @АлександрАлександр-х7т7к

    Очень понятное объяснение даже для меня, психолога. Поскольку работаю в основном с айтишниками, приходится быть в теме.😊

    • @black_grizzly
      @black_grizzly 10 дней назад

      Объясняешь им что такое ci/CD , да ?

  • @Tisuvagzg
    @Tisuvagzg Месяц назад +22

    AC\DC лучше

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

      Не умничай, а сноси путина.

  • @IceMangoChanel
    @IceMangoChanel 16 дней назад

    Прикольно, сочно рассказываешь. Чувствуется заинтересованность а не как обычно у всех - рассказ ради рассказа

  • @hunya_k
    @hunya_k 24 дня назад

    Про необходимость знания ci/cd вы в точку. Сейчас в резюме есть требование хотя бы к пониманию процессов ci cd

  • @TheAutonomoos
    @TheAutonomoos Месяц назад +16

    Нам такой контент нравится)

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

    Дулаю с 0 приложение без знаний программирования, эти знания мне очень помогут не сломать уже готовый прод, когда буду фиксить баги)) Спасибо)

  • @штоковниколай
    @штоковниколай Месяц назад +5

    Прикольная тема, щас на работе как раз этим на нескольких проектах занимаюсь, причём у нас используется bitbucket и когда я начинал, никто ничего не объяснял да и туториалов нормальных по битбакету нет, так что думаю всем полезно будет эту тему изучить. Спасибо за видос)

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

    Артём, большое спасибо, объяснение - мощь 👍💪

  • @АлександрФ-щ7х
    @АлександрФ-щ7х Месяц назад

    Общее объяснение отличное, единственно я не могу прикинуть как бы я это понял если бы увидел это видео до того как начал работу в моей команде (команда очень сильная), так-то сейчас смотрю и кажется, что всё прям очень понятно и легко )

  • @danilr
    @danilr 19 дней назад

    очень классная подача. разобрался с первого раза⚡️

  • @МаксимШелюто
    @МаксимШелюто 13 дней назад

    Спасибо большое за понятное пояснение. Держи ❤

  • @МаксМакс-ч8к
    @МаксМакс-ч8к Месяц назад +1

    Очень доступно и интересно! Артём, спасибо👍

  • @st-kovalenko
    @st-kovalenko Месяц назад

    Ждём продолжения. Очень актуальная тема. Хотелось бы узнать как это чудо настроить.

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

    Отличная подача. Продолжай, а мы ждем новых видео!

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

    Спасибо! Очень информативно и не перегружает.

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

    Мне даже как геймдев плюсовику полезно было, спасибо)

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

    Искала медь, нашла золото! Спасибо!)

  • @iMan-ql4gx
    @iMan-ql4gx Месяц назад

    Все понятно и кратко. Лайк в поддержку канала.

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

    Спасибо за видео. очень круто все рассказал, остался не совсем понятный этап. ты говорил про релизы, что там собираются несколько изменений, а как они запускаются, если сделав слияние ты уже развернул это на тестовом контуре. ну допустим 2 программиста написали по фиче, но исходя из предоставленного примера, они никак не собирают релиз, а сразу развертывают это.

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

    Супер !) Особенно понравилось "Разработчик пишет код и вроде у него всё даже работает"😂

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

    a=int(input('Введите число: ', ))
    b=int(input('Введите число: ', ))
    c=int(input('Введите число: ',))
    if a>b:
    maximum=a
    else:
    maximum=b
    if c>maximum:
    maximum=c
    print('Максимальное число лайков Артёму:' , maximum)
    print('Спасибо за подобное видео')

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

    Подписалась после первой фразы;))))👍🏻

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

    Конешно же селектел 🥰 спасибо ребята , что вы работаете 👨‍💻

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

    Качественный контент. Приятно смотреть. Спасибо Артем. 🤝

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

    теория понятна, жду вторую версию

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

    Артем, спасибо. отличный канал, много полезной инфы!

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

    Хорошее видео, доступно объясняет тему. Подписался, жду вторую часть

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

    От души братик, ждем вторую часть)

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

    Ура! Спасибо большое за такой видос! Пишем комментарии о том, что хотите увидеть и вас услышат как и меня ❤

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

      хочется больше примеров кода 🥹

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

      в следующем видео напишем свой CI/CD 😎

  • @spacex7777
    @spacex7777 12 дней назад

    Спасибо за труд

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

    Лайк подписка. Еще бы как настроить видос был, было бы вообще круто🔥

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

      В понедельник выйдет видео с настройкой)

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

    Идеальный пример на практике. Осталось понять чем занимает devops инженер и на каком этапе

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

      Запаковывает коробочки😂😂😂

    • @lll-hc4nn
      @lll-hc4nn Месяц назад +1

      Он как белый господин на поле, следит чтобы все работало/работали 😂

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

    ХАРОШ
    Продолжай развертывать 👍

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

    Внатуре четко! Улыба от Братвы!

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

    Спасибо. Очень доходчиво рассказано

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

    Артем, жду с нетерпением пример реализации пайплайна от тебя, желательно с применением Jenkins and SonarQube

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

    Только сегодня смотрел деплой, ждал CI/CD, а оно вон как :)

  • @ADV-IT
    @ADV-IT 25 дней назад

    Continuous а не Continuos, но обяснение хорошее

  • @ИванИванов-п1р8б
    @ИванИванов-п1р8б Месяц назад +1

    Классный видос, спасибо!

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

    Спасибо за объяснение!

  • @freddy_kvadrater
    @freddy_kvadrater 26 дней назад

    В реальной практике конечно такое редко встречается, если говорить про релиз (cd), если говорить про обновление релизом продакшен контура (там где реальные пользователи). Обычно это не происходит автоматически по мерджу в основную ветку, а отдается протестированный билд (сборка) в виде докер образа с определенным номером команде девопсов - это те которые разворчаивают новый релиз на прод серверах. Причина этому в том что прод доступен малому числу людей со специальными правами. Если это банк то зачастую только команде девопсов от банка. Также разработка может вестись разработчиками с других компаний - аутсорсинг, и тогда также возможно что прод (основной сервер с приложением для реальных пользователей) может быть доступен только заказчику, а аутсорс команды передают им готовые релизные билды

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

    Вообще супер видео

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

    Реально, стало более понятно, спасибо :)

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

    Oчень круто !

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

    Привет, большой респект за видео. Скажи а есть ли у тебя видео по редакторам? Я сам использую Visual Studio Code но знаю есть много других крутых, такие как jetbrains и твой сегодняшний. хотелось бы решить для себя

  • @АндрейСурыгин-м1з
    @АндрейСурыгин-м1з Месяц назад +1

    Во мне кипит гнев и негодование. CI/CD это не про сборку и развертывания. Это про непрерывный процесс улучшения продукта. Т.е каждый день вносятся изменения в продукт и каждый день выкатываються изменения. Это про совокупность процессов. Про то как улучшать и экспериментировать каждый день

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

      улучшение продукта - это коммит в репозиторий
      CI/CD про сборку, тестирование и развертывание

    • @АндрейСурыгин-м1з
      @АндрейСурыгин-м1з Месяц назад +1

      @@artemshumeiko серьезно? Т.е если мы уберем CI/CD платформу то у нас ничего не получится? Мы не сможем собирать, тестировать и развертывать продукт?

    • @АндрейСурыгин-м1з
      @АндрейСурыгин-м1з 29 дней назад

      @@abraham3345 когда ты приедешь устраиваться на работу и тебя спросят как ты будешь реализовать CI/CD процессы. Собес завершится через 5 секунд после того как ты начнешь рассказывать что то из этого видео

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

    Я бы сказал так Простое сделаем сложным

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

    Очень поверхностно - совсем для новичков, но общее представление дает. Забавно, что всего 2 стенда, но есть тесты :) Обычно стендов намного больше - dev, ift, psi, preprod, prod, ну и в нормальных компаниях, чтобы ветку main или master после мерджа залить в прод, не практикуют. Только через запросы на изменения с указанием версии. А так ну максимум она на preprod уедет, если настроено :)

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

    осталось рассказать как именно настраивать пайплайн ))

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

    Есть 2 книги. Первая называется Continuous Integration (CI) вторая называется Continuous Delivery (CD) этих двух книг достаточно чтобы разобраться что такое CI/CD и вы удивитесь прочитав их…

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

      я удивлюсь, если кто-то в 2024 изучает devops по книжкам

    • @Full-master
      @Full-master 4 дня назад

      Нет нужна ещё книга "/" как минимум

  • @Goldus
    @Goldus 25 дней назад

    Вроде и да и вроде и нет. При таком объяснении ускользает суть пула потоков при асинхронном программировании. Он не просто один и не ждёт. Управление передаётся другим задачам пока идёт ожидание завершения уже запущенных. Под каждую новую задачу (обычно задача = новое подключение) выделяется новый поток и он выполняется до тех пор, пока не встретит I\O -bound задачу. Когда поток её встречает и начинает "ждать", этот поток как бы передаётся под новую задачу. Когда ответ буде получен эта задача будет готова выполняться дальше, как только под неё выделят какой-нибудь поток, освободившийся в других задачах.

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

    Лучший, спс ❤

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

    В моей компании нет dev, все происходило на прямую в main (т.к. проект начинался с 0 и соответственно нет надобности создавать отдельное окружение для тестирования). Как только проект завершат, тогда реализуют dev

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

    Спасибо большое

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

    Дарова мужик. Видео посмотрел. Можешь не удалять, вдруг еще кому то полезно или интересно будет посмотреть.
    Такой вопрос неожиданный к тебе - ты девопс?

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

    Шик!

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

    Я девопс, тоже доводилось кхем,кхем, сталкиваться :D

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

    супер, спасибо

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

    Воооу контент подьехал

  • @АртемГорбацкий
    @АртемГорбацкий 23 дня назад

    Делать CI/CD для одной буквы в HTML. Вот это уровень :)
    А как можно автоматически затестить что стили не посыпались и не поехали?

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

    а как же этапы до сборки ? статический анализ кода? юнит тесты ? это очень важные этапы CI

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

    Нраица. Лукас выставлен.

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

    🔥🔥🔥

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

    Какую программу используете для демонстрации схемы? Ищем сейчас аналог миро)

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

    Как происходит автоматическая и автоматизированная перестройка серверов на то, чтобы выдавать страницу с изменениями?

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

    а сколько время простоя при деплое новых контейнеров? По идее еще надо настраивать реплики, чтобы старые контейнеры не умерли, пока новые полностью не запустятся

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

      зависит от скорости загрузки контейнера
      на моем проекте простой занимает 1-2 секунды
      Если говорим про кубер, там простоя нет

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

      @@artemshumeiko в сварме тоже нет, если настроить, у меня автодеплой бывает занимает минут по 20 на 4 этапа, а время простоя (когда приложение не отвечает пользователям) полсекунды ))
      конечно в к8с это было бы проще настраивать, но я его ни разу не использовал, как-то вот не попадался он мне в проектах )

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

    Привет. Не нашел ни в описании, ни в комментах сервис с помощью которого ты демонстрируешь схемы. Можешь сказать его название?

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

    CI/CD - перевожу, постонно делать работу над проектом, вытягивая при этом деньги из заказчика (работа, ради работы)

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

    Перед созданием ветки dev лучше бы сделать git pull)

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

    Используют ли кубер на dev ветках, если в проде он есть?

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

    сделай видос про кафку пж

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

      Скоро будет по брокерам!!)

  • @imNauryzbay
    @imNauryzbay 6 дней назад

    Тогда что в мастере? С точки зрения CD?

    • @LuckyVortexPotato
      @LuckyVortexPotato День назад

      Баги. Так как на практике программисту срать, чё он написал, тестировщик не делает полную проверку (нет времени, а его автотесты - кусок говна), code review проведено на отъ***сь, т.к. Senior тусит где-нибудь в клубе, а баг всплывает в 3 часа ночи у Заказчика, который пишет тикет в техподдержку. Техподдержка неделю молчит, ничего не делая с тикетом, а потом руководство Заказчика идёт к менеджеру проекта с матами! В итоге МП сам ищет и отлавливает баг, его же детально описывает в задаче и сам всё тестирует🤣

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

    В случае если мердж реквеств в дев апрувнули и код не прошел тесты, откатывается ли дев?

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

      Я думаю, если работает достаточно большая команда разработчиков (больше 4-5 человек), то да.
      Но чаще всего сборкан на dev ломается, если есть какой-то мелкий баг. Тогда он быстро фиксится и "домерживается" в dev

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

      На больших, нормальных проектах не получится сделать мердж в основную ветку с ошибками в СІ. Там СІ работает так что когда открываеться мердже реквест, СІ имитирует мердж и проганяет все проверки на результате имитации мерджа (будто мердж реквест уже смерджован на основную ветку), и если СІ не проходит - мердж заблокирован.

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

      @@someDude1368 как с миграциями работают в данном случае? Под каждый MR создается копия dev базы и на ней прогоняются миграции?

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

      @@artemshumeiko У нас, из того что вижу в коде - каждый раз создается пустая база на которой применяется призма резет (чистит + применяет заново все миграции) и потом летят тесты, билды и т.д. Не уверен почему не используем копию БД, завтра спрошу у ребят.

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

    Мне не понятно что там за тесты, по прошествии которых галочки ставятся? Это другие люди должны что-то сделать, или оно само что-то проверяет? И если оно само, то что это?

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

      Эти тесты были написаны разработчиками, они прогоняются полностью каждый раз при новом коммите, чтобы убедиться, что все работает. Тесты прогоняются автоматически на CI сервере (про сервер рассказывал в видео)

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

      это мировые программисты должны проверить и галочку поставить

  • @alexandre-koss4125
    @alexandre-koss4125 Месяц назад

    10/10

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

    вау, теперь я знаю кто делал фронт для солвит))

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

    Нифига себе, нам контора меняла одну букву две недели и взяли 200к.

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

    Лови лайк!

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

    ❤❤❤

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

    На больших, нормальных проектах не получится сделать мердж в основную ветку с ошибками в СІ. Там СІ работает так что когда открываеться мердже реквест, СІ имитирует мердж и проганяет все проверки на результате имитации мерджа (будто мердж реквест уже смерджован на основную ветку), и если СІ не проходит - мердж заблокирован.

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

    Работодатели афигели, CI/CD это поле девопса, а не разработчика. Чего они мой хлеб забирают? ((((

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

      Разработчикам только базу нужно знать. Все равно весь хардкор на плечах девопсов)

  • @Укажитеназваниеканала-и4х

    CICD это скрипт (#!/bin/sh) запускаемый по событию в репе. Остальное - лирика и синтаксический сахар.

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

    лайк подписка