GITLAB CI CD сокращаем код. Gitlab ci include, extends, reference, remote, local

Sdílet
Vložit
  • čas přidán 10. 04. 2022
  • Надежный хостинг FirstVDS! Переходи по ссылке и получай скидку 25% на первый месяц на любой тариф firstvds.ru/s/gjdwe
    Бывает такое: смотришь на yaml файл pipline, а он похож на какой-то рулон туалетной бумаги. Листаешь листаешь, и ловишь какое-то дежавю. Этото код был сверху. В этом видео я раскажу как уменьшить твой конфиг gitlab ci cd c помощью include, extends и как собрать pipline из кусочков в помощью reference.
    #ityoutubersru #ityoutubers #gitlab
    ХОТИТЕ ПОМОЧЬ РАЗВИТИЮ КАНАЛА?
    ★ Станьте спонсором канала / @pavlenkoat
    ★ Boosty (подписка донаты) boosty.to/pavlenkoat
    ★ Яндекс.Деньги: money.yandex.ru/to/4100124083...
    ★ www.donationalerts.com/r/pavl...
    ★ www.tinkoff.ru/rm/pavlenko.an...
    КОНТАКТЫ:
    ✦ Канал в TELEGRAM: t.me/worlditech (worlditech)
    ✦ DevOps/SRE чат t.me/devopssre
    ✦ Чат для Сисадминов и эникеев t.me/sys_hell
    ✦ Linux чат в TELEGRAM: t.me/linux_wit
  • Věda a technologie

Komentáře • 60

  • @8man766
    @8man766 Před 2 měsíci +1

    Напишу приятный комментарий
    Спрашивал у chat gpt как делать темплейты - получил кукиш
    искал информацию в инете как делать тепмлпейты - получил ответ что только в ee версии
    смотрел видео бусурманов - получил какие-то тыкалки в ui, которых у меня в gitlab-ce нет
    Наконец то нашел видео как делать темплейты и сделал ЛАЙК

  • @user-kz8su9dg5y
    @user-kz8su9dg5y Před 2 lety +2

    Четко, коротко, понятно!
    Ничего лишнего и с оригинальной подачей!

  • @GushchinAndrei
    @GushchinAndrei Před 3 měsíci

    Спасибо, Антон!

  • @wk7652
    @wk7652 Před 2 lety +1

    Даже захотелось больше погрузиться в работу пайплайнов))
    Спасибо, Антон!

  • @Neodim555
    @Neodim555 Před 2 lety

    Спасибо за твои ролики. Только начинаю вплывать в тему CICD эта информация очень вовремя.

  • @PeterCargo
    @PeterCargo Před 8 měsíci

    Спасибо, Антон! Задорный стиль изложения, доходчивое объяснение. Приятнее нежели документацию читать ))

  • @andreykaparulin9214
    @andreykaparulin9214 Před 2 lety

    спасибо, коментарий для продвижения канала

  • @user-le2ve2vj6d
    @user-le2ve2vj6d Před rokem

    Огромное спасибо!)

  • @Rixnei
    @Rixnei Před 2 lety

    Спасибо большое за контент!

  • @bassmaster0983
    @bassmaster0983 Před 2 lety

    Приятный комментарий: Спасибо это была полезная информация, как раз этим занимаюсь, но использовал только include и extends

  • @igancev
    @igancev Před 2 lety +1

    Про reference не знал, спасибо!

  • @Lammax2012
    @Lammax2012 Před 2 lety

    Спасибо!

  • @user-lc1ph5jg5k
    @user-lc1ph5jg5k Před 2 lety +2

    Шикарно. Побольше бы контента по gitlab ci

    • @pavlenkoat
      @pavlenkoat  Před 2 lety

      Да что-то просмотров мало

    • @user-kz8su9dg5y
      @user-kz8su9dg5y Před 2 lety

      @@pavlenkoat айти тусовка ведь тоже не велика))

  • @serg4056
    @serg4056 Před 4 měsíci

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

  • @riariorovere2462
    @riariorovere2462 Před 2 lety

    Ах, вот ровно день назад сам все это обнаружил. Хорошая тема для видео

  • @MrVelesko
    @MrVelesko Před 2 lety

    Знал всё кроме последнего (референс) - спасибо.

  • @vshefer
    @vshefer Před rokem

    Не все понял, но мне понравилось, классный канал

  • @koi-157c8
    @koi-157c8 Před 2 lety +3

    Ко всему надо подходить из практических соображений. Если пайплайн - как рулон, то шаблоны - очевидное спасение. Но есть и обратная сторона медали.
    Когда есть один мелкий микросервис, а половина его пайплайнов разбросана по разным репозиториям.
    И вот, чтобы это все принять, приходится скакать между ними как сайгаку и смотреть откуда что берется, хотя весь пайплайн умещается на паре страниц кода с применением того же extends внутри одной репы.
    Еще нужно учитывать, что переменные определенные в bash'e через export, например - в before_script и script не передаются в after_script.

    • @pavlenkoat
      @pavlenkoat  Před 2 lety +2

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

    • @koi-157c8
      @koi-157c8 Před 2 lety

      @@pavlenkoat Я немного о другом. Если приложения в группе репозиториев однотипные и не выходят за пределы группы - то да, маст хев.
      Но бывает так, что в одном шаблоне не получится описать все для всех, и начинают плодиться разного рода сущности вида .tempalte_mongo_sync_api_migrate_mock
      И все они отличаются не большими изменениями и годами не меняются. Потом начинается dependency hell.
      И если репозиторий не твой, а достался в наследство - то добавлять в шаблон - черевато изменениями других сервисов, о которых ты пока не знаешь.
      И процесс этот получается долгим и мучительным с несколькими вкладками в IDE для разных проектов и их сверкой.
      Я сейчас для "будущей смены" делаю так, чтобы прочитать мой пайплайн было проще. Для этого большие однотипные куски выношу в tech репу (там же, шаблоны для чартов, сборки БД с данными и тп), в той же группе проектов, а мелкие куски добавляю через extends в .gitlab-ci.yml. В одной группе может быть до десяти и больше разных проектов, которые используют tech репу. Но для других таких групп, я стараюсь делать их собственную tech репу, чтобы изменения в ней, касались только той группы проектов и никак не влили на другие проекты.

  • @user-lq6jo5zl2w
    @user-lq6jo5zl2w Před 2 měsíci

    Часто используемые в скриптах команды, по возможности параметризируеммые через переменные, можно обозначить как якоря, сделать для них понятный нейминг, и потом в скрипт вставлять *имя_якоря.

  • @dagget112
    @dagget112 Před 2 lety

    Молодец!

  • @sergo4220
    @sergo4220 Před 2 lety +3

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

  • @lowkeysleep
    @lowkeysleep Před 2 lety +2

    В GitLab CI довольно удобно и гибко настраиваются паплайны. Но вот тонкости... Они как раз и заставляют "попотеть". Как пример раздел "rules" в job'е: при использовании extend и добавлении нового правила, rules из "оригинальной" job'ы затрутся. А "! reference" как-то странно сливает rules
    Лично выкрутился через YAML якоря
    А видео очень полезное! В особенности для начинающих :)
    Огромное спасибо за ваш контент!

    • @riariorovere2462
      @riariorovere2462 Před 2 lety

      У меня у всех микросервисов были одинокые rules, которые зависели лишь от переменных конкретного микросервиса

  • @alexandervoniarkha3873
    @alexandervoniarkha3873 Před 2 lety +2

    Отличный и, самое главное, понятный гайд, по неочевидной теме.
    Очень понравилось

  • @ReflectMirage
    @ReflectMirage Před 2 lety +1

    очень нужный плейлист gitlab ci/cd развивайте его пожалуйста, лайк!

  • @user-tt9vf1le7n
    @user-tt9vf1le7n Před 2 lety +1

    Как же вовремя вышло это видео. Спасибо

  • @Petyaumniy
    @Petyaumniy Před 2 lety

    Вместо reference в script, имхо, гораздо проще использовать анчеры. Благо в секция script gitlab-ci интерпретирует вложеные листы (даже глубокой вложености) как 1 плоский лист. Таким образом подготавливаем наши атомарные кусочки конфигурации как анчоры с листом из баш кода и добавляем их анчорами в скрипт. Так же кусочки анчоров можно объединять в более высокоуровневые анчоры и так же использовать их в скрипт, гитлаб их так же пережёвывает.

  • @funyfizik
    @funyfizik Před 2 lety +1

    Очень интересный кейс! А главная отличная доходчивая подача

  • @janodenbach374
    @janodenbach374 Před 2 lety

    Ты Большой Молодец ! Был бы очень признателен что бы у тебя появился какой нибудь большой курс по Bash Script от Zero 2 Hero или что то на подобие. У меня в компании мне все чаще надо писать Bash скрипты для автоматизации процессов. Например для интегральных проверок Aide или по копированию MariaDB и потом скармливания результата скрипту Nagios (который так же мне надо сделать). Хотелос бы еще раз все освежить в памяти и что бы доступным как ты умеешь языком.

  • @AlexanderSavchenko91
    @AlexanderSavchenko91 Před 2 lety +1

    спасибо )
    в будущем пригодится )

  • @mihan1610
    @mihan1610 Před 2 lety +1

    все понятно объяснил

  • @andydrummer6310
    @andydrummer6310 Před rokem

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

  • @mikhailyegorov27
    @mikhailyegorov27 Před 2 lety

    Спасибо за твой подход к объяснению) ты забавный и полезный )

    • @pavlenkoat
      @pavlenkoat  Před 2 lety

      Я ищу баланс сейчас. Раньше юморка было больше.

    • @mikhailyegorov27
      @mikhailyegorov27 Před 2 lety

      @@pavlenkoat имхо в этом видео идеальный баланс. хотя я всегда за юмор)

  • @MrLonur
    @MrLonur Před 2 lety

    Комментарий поддрежки

  • @AlexanderBukhtatyy
    @AlexanderBukhtatyy Před rokem

    Приятный или не очень комментарий! =)

  • @George-tt4pt
    @George-tt4pt Před 2 lety +1

    Спасибо за видио

    • @George-tt4pt
      @George-tt4pt Před 2 lety +1

      Можно ещё добавит в пейплайн when и only = огонь .

  • @eugenechernyshenko4933

    before/script/after - списки, поэтому их нельзя расширить, их можно только смержить

  • @user-er9ev7vf1h
    @user-er9ev7vf1h Před 2 lety

    для справедливости стоит добавить, что экстенды делают код не только меньше, но и запутаннее.
    к слову, docker-compose выпилили у себя этот функционал ещё 5 лет назад, начиная с v3, не смотря на истошный вой пользователей, драма до сих пор открыта ))
    мотивировали это тем, что код с использованием экстендов становится очень запутанным и не поддерживаемым, но основная причина в том, что они не могут больше это поддерживать, возникает неопределённое поведение.
    в общем, там ребята закопались в своём коде ))

    • @pavlenkoat
      @pavlenkoat  Před 2 lety

      Всё хорошо в меру и таблетками можно себя угробить.

  • @dmitryenot6601
    @dmitryenot6601 Před 2 lety

    Фон огонь 🔥

  • @pavel2392
    @pavel2392 Před 2 lety

    привет

  • @21JackHammer
    @21JackHammer Před 2 lety

    Дженкинс юзаешь? Или ток гит?

    • @pavlenkoat
      @pavlenkoat  Před 2 lety

      Сейчас нет, но с ним работал

  • @juliusmalkov9620
    @juliusmalkov9620 Před rokem

    Чувствую я не стану DevOps так просто(((

  • @user-im4jl5wd7l
    @user-im4jl5wd7l Před 2 lety +3

    годный контент, но в связи с тем что gitlab покрасился в жевто-блакитный цвет стал вопрос о целесообразности продолжения использования gitlabci...

  • @frolovskii_v
    @frolovskii_v Před 4 měsíci

    200 строк на 4 джобы это не туалетная бумага))

  • @G-GIK
    @G-GIK Před rokem

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

    • @pavlenkoat
      @pavlenkoat  Před rokem

      Мясо никто не смотрит. Всё любят овощи

  • @jozz3235
    @jozz3235 Před 2 lety

    Firstvds Дааааа

  • @ivandyk8428
    @ivandyk8428 Před 2 lety +1

    Антон после развода посвежел.

  • @oleg_kishinskii
    @oleg_kishinskii Před rokem

    А вот и не работает extends, слову вообще ничего из этого видео не работает
    заинключить темплейт получилось так:
    include:
    - project: 'INFRA/pipeline_templates'
    ref: master
    file: '/.kubernetes_deploy_template.yaml'
    а вот к маске привязать уже не выходит