03- DevOps практика: GitlLab CI+Runners. Создание CI CD Pipeline.

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 พ.ค. 2024
  • GitLab - веб-инструмент жизненного цикла DevOps с открытым исходным кодом.
    Рассмотрим как работает GitLab CI, что такое Runners, как они настраиваются и подключаются
    В видео показано CI и CD различия. А так же создание простого Pipeline.
    00:00:00 | Что такое CI/CD
    00:03:35 | CI/CD Pipeline
    00:06:44 | Что такое Runner
    00:14:30 | Установка Docker Runner 1/2
    00:19:22 | Решение проблемы с SSL при подключении Runner
    00:26:15 | Установка Docker Runner 2/2
    00:28:10 | Первый простой Pipeline
    00:39:05 | Gitlab CI Artifacts
    00:42:00 | GitLab Runner Shell. Установка и настройка
    00:46:24 | Shared Runner
    00:48:27 | Добавление Stages
    00:51:45 | Allow Failure. Управление ошибками
    00:53:42 | Добавление прав для gitlab-runner. visudo
    01:00:00 | Переменные (variables) в Pipeline
    01:02:53 | Глобальная переменная
    01:06:11 | Расширяем Pipeline. Установка Apache2
    01:14:01 | Добавление очередного Stage
    Команды в видео: github.com/RomNero/TH-cam-In...
    Установка GitLab: about.gitlab.com/install/?ver...
    Gitlab Runner: docs.gitlab.com/runner/
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Буду очень благодарен за поддержку в виде чашечки ☕️:
    www.buymeacoffee.com/RomNero
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Предложениям пишите на: infotube@romnero.de
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

  • @volsof
    @volsof 8 หลายเดือนก่อน +5

    Очень хороший урок. Для начинающих очень подходит.
    Автору плюс в карму за труд.

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

      Спасибо😉 больше получился не как урок, а пример использования.
      По Gitlab CI ещё сделаю полноценное видео

  • @SunsSpott
    @SunsSpott 2 ปีที่แล้ว +35

    Классный урок, спасибо! "билЬд" немного резал ухо, немецкий учил наверное)))

    • @RomNero
      @RomNero  2 ปีที่แล้ว +12

      Спвсибо. Да, я в Германии живу.

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

      Подсказка тебе была когда он указывал адрес runner .de. JA JA NATURLICH DAST IS BILD MEIN SCHULLER))

  • @networkthor2136
    @networkthor2136 2 ปีที่แล้ว +2

    Прекрасное видео! Спасибо!

  • @pnppro100kvashin5
    @pnppro100kvashin5 2 ปีที่แล้ว +5

    Большое спасибо! Очень полезный курс

  • @riariorovere2462
    @riariorovere2462 2 ปีที่แล้ว +17

    Это очень крутой урок! Огромное спасибо!

  • @user-vr8lk7fx4l
    @user-vr8lk7fx4l 2 ปีที่แล้ว +1

    Хороший урок. Спасибо!

  • @user-sp4oq7yk9w
    @user-sp4oq7yk9w ปีที่แล้ว +2

    Спасибо Вам
    Очень интересно

  • @ilya9485
    @ilya9485 2 ปีที่แล้ว +5

    Благодарен за грамотные обзоры. Спасибо за труды и старания!

    • @RomNero
      @RomNero  2 ปีที่แล้ว +1

      Спасибо))

  • @vladpetrachuk4873
    @vladpetrachuk4873 2 ปีที่แล้ว +3

    Отличная работа! Огромное спасибо за материал!

    • @RomNero
      @RomNero  2 ปีที่แล้ว

      Спасибо за отзыв. Мне очень важно знать, что материал понятно изложен))

  • @crazy_king
    @crazy_king ปีที่แล้ว +7

    Огромное тебе спасибо за твоё подробное творчество. :)

    • @RomNero
      @RomNero  ปีที่แล้ว

      Спасибо за оценку👍🏻

  • @dkaa77
    @dkaa77 ปีที่แล้ว +4

    Спасибо тебе за твои труды!

    • @RomNero
      @RomNero  ปีที่แล้ว +1

      Спасибо за отзыв 👍🏻😊

  • @UAStriker
    @UAStriker ปีที่แล้ว +1

    Спасибо за такой подробный урок!

    • @RomNero
      @RomNero  ปีที่แล้ว

      Всегда пожалуйста. Рад помочь.

  • @user-ie6iw8jz6f
    @user-ie6iw8jz6f 3 หลายเดือนก่อน

    урок супер, все четко и без воды

  • @user-tk7hx1jk6r
    @user-tk7hx1jk6r ปีที่แล้ว +3

    Спасибо за уроки, темпы что надо с разъяснениями.

    • @RomNero
      @RomNero  ปีที่แล้ว

      Спасибо за отзыв. Значит буду продолжать в таком же стиле 👍🏻😊

  • @sysadmin84
    @sysadmin84 2 ปีที่แล้ว

    Спасибо большое. Очень интересно. Мне очень помогло

  • @brest1019
    @brest1019 2 ปีที่แล้ว +4

    Спасибо братанчик за старания!💪👍 Благодарим!

    • @RomNero
      @RomNero  2 ปีที่แล้ว

      Всегда пожалуйста 😉

  • @tronco3180
    @tronco3180 2 ปีที่แล้ว +1

    огромное спасибо за труд! круто изложил

    • @RomNero
      @RomNero  2 ปีที่แล้ว

      Спасибо. Возможно только примеры не очень корректно подобрал. Но цель была показать как работает gitlab CI.

  • @gor_7799
    @gor_7799 ปีที่แล้ว +1

    Отличный урок!

  • @olgaryzhkova2330
    @olgaryzhkova2330 ปีที่แล้ว +2

    просто супер, все ясно и подробно

    • @RomNero
      @RomNero  ปีที่แล้ว +1

      Спасибо за отзыв😊👍🏻

  • @larybronson
    @larybronson ปีที่แล้ว +1

    спасибо тебе милый человек, ты открыл мне глаза на гитлаб си

  • @tsargvidon760
    @tsargvidon760 2 ปีที่แล้ว +1

    Топовый урок, спасибо!

    • @RomNero
      @RomNero  2 ปีที่แล้ว

      Спасибо за отзыв))

  • @happymishka1
    @happymishka1 ปีที่แล้ว +2

    Благодарю! Все очень понятно! Получилось разобраться в CI/CD и пайплайнах. Все очень подробно и сразу понятно!

    • @RomNero
      @RomNero  ปีที่แล้ว

      Спасибо за отзыв 👍🏻 двигаемся в таком же нарравлении

  • @user-ki4cd6dc6u
    @user-ki4cd6dc6u ปีที่แล้ว +4

    Благодарю автора за время и материал!) Всё отлично работает, после нескольких дней мучений. Оставлю это здесь на случай аналогичных проблем!

    • @RomNero
      @RomNero  ปีที่แล้ว

      Спасибо за позитивный отзыв 👍😀

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

    Мега классный туториал. Удачи автору!

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

      Спасибо👍

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

    Мужик, ты просто лучший!

  • @Bupyc2006
    @Bupyc2006 2 ปีที่แล้ว +1

    spasibo, kak wsegda wsio kruto :)

  • @MRoose
    @MRoose ปีที่แล้ว +22

    Отличный урок, особенно на фоне отсутствия иных на русском языке)
    Огромное спасибо, теперь есть представление о всем процессе

    • @RomNero
      @RomNero  ปีที่แล้ว +3

      Спасибо. Рад помочь

  • @AlexK-df4ne
    @AlexK-df4ne ปีที่แล้ว +3

    Как всегда чётко, портяно, последовательно!

    • @RomNero
      @RomNero  ปีที่แล้ว

      Спасибо большое 😉👍 мега приятно

  • @erics8362
    @erics8362 2 ปีที่แล้ว +1

    Топовый видос. Сам изучаю Jenkins, но про gitlab было интересно

    • @RomNero
      @RomNero  2 ปีที่แล้ว

      Спвсибо. Jenkins классный и мощный инструмент.

  • @chuckchuck1090
    @chuckchuck1090 ปีที่แล้ว +1

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

    • @RomNero
      @RomNero  ปีที่แล้ว

      Спасибо 👍🏻

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

    Спасмбо огромное! Смотрю твои видео в режиме нон-стоп, так как готовлюсь стать девопсом))

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

      Спасибо за отзыв.
      Успехов в этом не лёгком пути к devops😉

  • @user-ie6iw8jz6f
    @user-ie6iw8jz6f 3 หลายเดือนก่อน

    Супер, все сделал по вашему и собрал полностью лабу

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

      Отлично 👍

  • @evgvac
    @evgvac ปีที่แล้ว

    Пожалуй лучшее видео по обучению gitlab

    • @RomNero
      @RomNero  ปีที่แล้ว

      Спасибо. Ещё в планах есть видео по gitlab. Вышли новые версии и добавилось несколько функций

    • @evgvac
      @evgvac ปีที่แล้ว

      @@RomNeroЭто Вам спасибо! Docker изучил по Вашим видео, теперь использую его в работе.

    • @RomNero
      @RomNero  ปีที่แล้ว

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

  • @user-bu3dt3ou7n
    @user-bu3dt3ou7n ปีที่แล้ว +2

    Блин спасибо друг капец помог разобраться без воды

    • @RomNero
      @RomNero  ปีที่แล้ว +1

      Всегда пожалуйста. Рад помочь))

  • @user-wx1zs5or4z
    @user-wx1zs5or4z 9 หลายเดือนก่อน

    Супер видос! Спасибо

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

      Всегда пожалуйста😉

  • @chuckchuck1090
    @chuckchuck1090 ปีที่แล้ว +2

    Спс, буквально из-за твоего видео за две недели написал CI CD для PG Pro Ent: установка, настройка Data, изменение conf файлов, передачу бекапов в докер и еще куча всего))) Передал бекапы программистам, теперь заявки по базам для дев ушли с отдела))) Теперь Swarm изучаю

    • @RomNero
      @RomNero  ปีที่แล้ว +1

      Спасибо за отзыв. Приятно слышать, что мои видео помогли.
      Я бы оставил swarm, а время лучше инвестировать в K8s

    • @chuckchuck1090
      @chuckchuck1090 ปีที่แล้ว

      @@RomNero да проблема что нет годных гайдов по нем, а отзывы такие, что прод на нем будешь запускать долго, а swarm это почти сразу.

    • @RomNero
      @RomNero  ปีที่แล้ว

      Согласен. Гайдов конкретных мало. Нужно искать постоянно решения проблем. Но swarm никто уже не использует. Всё же лучше попытаться изучить kubernetes.
      По нему хочу делать видео, но оно не скоро будет.

  • @network_sw
    @network_sw 2 ปีที่แล้ว +8

    Спасибо за видео. Реализовал у себя такую схему: есть локальный гитлаб, есть два сервера. Поставил на оба сервера shell-runner и ansible. Раннеры подключил к гиту и создал репозиторий с плейбуками ansible. Gitlab-runner запускает команду ansible-pull который тянет с гита нужную конфигурацию и применяет. На выходе получаю следующее: со своего рабочего места в IDE правлю код ансибла, делаю коммит и пуш в гитлаб - изменения сразу же применяются на обоих серверах. По-моему достаточно удобно.

    • @RomNero
      @RomNero  2 ปีที่แล้ว

      Круто. Спасибо!!! Очень чётко все описал. Побольше бы таких коментов ;)
      И отдельное спасибо за ansible-pull 👍🏻

    • @123sultans
      @123sultans 2 ปีที่แล้ว

      можешь скинуть, playbook и gitlab ci файл?

    • @network_sw
      @network_sw 2 ปีที่แล้ว

      @@123sultans ютуб удаляет ссылки

    • @cranebird1467
      @cranebird1467 2 ปีที่แล้ว

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

    • @network_sw
      @network_sw 2 ปีที่แล้ว +1

      @@cranebird1467 Это когда ты работаешь в крупной конторе и пишешь совместный код. А для меня это просто замена того, что я и так сделал бы сейчас, зайдя по ssh, т.к я не кодер а админ. Плюс это какой-никакой бекап конфига. Я знаю, что если я разверну новый сервер и подключу к нему этот конфиг, то сервер сам настроит себя до требуемого состояния. На это уходит много времени при первоначальной конфигурации, но потом это окупается.

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

    Спасибо, очень круто! Очень! ))

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

      Спасибо 👍

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

    спасибо за видео, без воды, с разбором ошибок, единственное хорошее на рускоязычном ютубе про ci в gitlab

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

      Спасибо. Очень приятно 👍

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

    Супер все понятно! есть и простые примеры и посложнее. Спасибо!

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

      Спасибо за полезный отзыв👍

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

    Красавчик. Побольше бы примеров для ymlов
    Переменные, экранирование, примеры использования вот это все.
    А так да, низкий поклон. В кои то веки не бросил разбираться и теперь буду использовать.

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

      Спасибо за позитивный отзыв.
      Хочу ещё сделать несколько видео по gitlab. Нужно только найти время🙂

  • @igorgladkov8270
    @igorgladkov8270 ปีที่แล้ว +1

    Спасибо, огромное!

    • @RomNero
      @RomNero  ปีที่แล้ว

      Рад помочь👍🏻

  • @kumaranv7006
    @kumaranv7006 ปีที่แล้ว +2

    Спасибо! Интересно еще как работает мониторинг в гитлаб.

  • @dreng1r
    @dreng1r 2 ปีที่แล้ว +3

    Спасибо за видео.
    Плюсую за gitlab container registry.
    Пошаговый рецепт был бы очень кстати.

    • @RomNero
      @RomNero  2 ปีที่แล้ว +3

      Спасибо. Ещё хочу сделать docker in docker Pipeline.

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

    Спасибо чувак )))

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

    Спасибо за видео, удалось понять основы CI/CD и научиться писать простенькие пайнплайны, только я за место трех виртуалок поднял две, на втором ранере сделал теги test и stage, дабы сэкономить себе оперативную память :)

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

      Отлично. Поздравляю с первыми шагами в CI 👍

  • @vvops2540
    @vvops2540 ปีที่แล้ว +1

    СПАСИБО!!!

  • @izmailovlz
    @izmailovlz ปีที่แล้ว +1

    огонь!

    • @RomNero
      @RomNero  ปีที่แล้ว

      Спасибо

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

    спасибо

  • @user-tt8ym8tr6l
    @user-tt8ym8tr6l 2 ปีที่แล้ว +2

    Интересно послушать про гитлаб ригистри, как образы можно передавать между стейджами и вообще про докер ранер, там же проблема использовать докер образы, потому что получается docker-in-docker. В общем я бы про работу с образами в гитлабе послушал )))

    • @RomNero
      @RomNero  2 ปีที่แล้ว +2

      Спасибо. Видео будет о docker CI и docker in docker.

    • @erics8362
      @erics8362 2 ปีที่แล้ว +1

      Используем dind для построения образов в Jenkins - проблем не было. Ну и есть kaniko как альтернатива dind

    • @user-tt8ym8tr6l
      @user-tt8ym8tr6l 2 ปีที่แล้ว

      @@erics8362 спасибо, почитаю

  • @Alayzcer
    @Alayzcer 2 ปีที่แล้ว +2

    Благодарю, отличный труд! От себя добавлю, удобно иметь инструкцию сборки в репозитории. Настройка ос и сборка с++ проектов годичной давности без conan кошмар, так и не вспомнишь где и какие взять зависимости.

    • @RomNero
      @RomNero  2 ปีที่แล้ว

      Спасибо за отзыв))

  • @antonkhokhlov7975
    @antonkhokhlov7975 ปีที่แล้ว +2

    Познавательно, спасибо! Не подскажешь планируется ли видео о запуске GitLab вместе с Ansible через Molecule ? Так называемая Infrastructure As Code. Было бы очень полезно

    • @RomNero
      @RomNero  ปีที่แล้ว

      Спасибо за отзыв. Molecule это же для теста плейбуков.
      А по IaaS буду делать видео.

    • @antonkhokhlov7975
      @antonkhokhlov7975 ปีที่แล้ว

      @@RomNero да, точно, спасибо большое

  • @mikhailplekhov3894
    @mikhailplekhov3894 ปีที่แล้ว +1

    Спасибо большое. Очень полезно. Правда так и не смог подключить runner в docker'е на хосте с gitlab, ошибка с сертификатом.

    • @RomNero
      @RomNero  ปีที่แล้ว +1

      Спасибо за отзыв.
      Да, это проблема у многих, кто использует не официальные сертификаты. Хотя для обучения можно импортировать любые сертификаты. И все будет работать.
      docs.gitlab.com/runner/configuration/tls-self-signed.html

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

    👍

  • @user-ze8si2co2f
    @user-ze8si2co2f 2 ปีที่แล้ว +2

    Огромное спасибо за проделанную Вами работу. Видео смотрятся легко и без напряга. При регистрации runner правда у меня возникла ошибка: " x509: certificate relies on legacy Common Name field, use SANs instead". Победить так и не смог, не силен в работе с сертификатами. ОС Centos 7, openssl version 1.0.2.

    • @RomNero
      @RomNero  2 ปีที่แล้ว

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

    • @erzhana8708
      @erzhana8708 2 ปีที่แล้ว

      решил? такая же проблема

    • @user-ze8si2co2f
      @user-ze8si2co2f 2 ปีที่แล้ว

      @@erzhana8708 проверь версию openssl

    • @erzhana8708
      @erzhana8708 2 ปีที่แล้ว

      @@user-ze8si2co2f 1.1.1f

    • @AlexanderAnanko
      @AlexanderAnanko 2 ปีที่แล้ว

      ​@@RomNero, спасибо за подобный цикл.
      У меня возникла такая же проблема как и ТС ветки. Подскажите куда копать, т.к. в гугле решения найти не удалось? У меня ВМ на которой развернул ubuntu. На ней по вашему видео поднял Gitlab. Подключить gitlab-runner в докере на этой же ВМ не удается (вы в видео показали только решение проблемы с сертификатом на gitlab-runner shell).
      P.S. Белый адрес есть, но он динамический. Решил проблему пробросом портов через VPN-туннель с купленного VPS, но сертификат letsencript получить не удалось из-за ошибки таймаута, хотя времени прошло достаточно (более 72 часов) для обновления dns-записей (и сервер доступен из других точек мира по http и https).

  • @samsonhonda2484
    @samsonhonda2484 2 ปีที่แล้ว +1

    жестко

    • @RomNero
      @RomNero  2 ปีที่แล้ว

      В каком плане?

  • @BorisPentego
    @BorisPentego ปีที่แล้ว

    отличное видео! просто шикарное! а планируется ли аналогичное,но по работе именно с контейнерами? чтоб собирался контейнер по скриптам, сохранялся в репозитории гитлаба и заливался уже измененный по всем нужным стадиям?

    • @RomNero
      @RomNero  ปีที่แล้ว

      Спасибо за отзыв. Спасибо за идею👍
      Подобное видео сделаю в теме по Devops примерам.

  • @stanislavnedosekin
    @stanislavnedosekin ปีที่แล้ว +2

    Здравствуйте, очень помогает ваша инструкция в работе, спасибо. Только можно уточнение, что значит на клиенте на 24:45, это какой то другой сервер или что извините?

    • @RomNero
      @RomNero  ปีที่แล้ว +1

      Спасибо за отзыв.
      В данном случае (в видео) клиенты - это были серверы, на которых работали gitlab-runner. И на эти же клиенты производился деплоймент.

  • @user-yu4tx2sv2g
    @user-yu4tx2sv2g 9 หลายเดือนก่อน

    Почему этап Проверка качества кода идёт до сборки?

  • @Frezer911
    @Frezer911 ปีที่แล้ว +2

    Чувак, крутой урок. Не понял одну вещь - почемы мы артефакты сохраняем на машине gitlab, а потом обращаемся к ним с машины test. Или они шарятся в рамках пайплайна и это как подмонтированный volume, который доступен на любом из stage пайплайна?
    P.S. попробуй слепую печать подтянуть, у меня тоже раньше было много опечаток.

    • @RomNero
      @RomNero  ปีที่แล้ว

      Спвсибо за отзыв.
      Артефакты доступны внутри Pipeline. Они хранятся на gitlab определённое время. Этот timeout так же можно выставить.

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

    Нашёл на ютубе сначала курс какой-то из университета, много воды лишнего... Иии честно опять вы меня спасли :)) В первые ставил Gitlab, благодаря вам быстрее разобрался. Спасибо вам за качественный контент!
    У меня такой вопрос, смотрите допустим у нас есть общий runner, если 2 человека в команде одновременно пушат разные проекты, то это дело будет два Pipeline выполнять и не будут конфликта? Я просто создал по способу через докер и не создавал общий runner. От CI \ CD мне важно, чтобы он прогнал unit-тесты написанные.
    И вопрос по docker'у, допустим у меня 2 микросервиса они все изолированы в docker , мне стоит под базу данных \ nginx отдельный докер и всё? Или есть вариант по лучше?
    База данных у меня на localhost и в будущим если нужен будет 2 сервер я хотел бы SSH туннелировать.

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

      Спасибо за отзыв.
      По runner: можно использовать 1 runner, но у 2го пользователя должны быть права на проект.
      По DB: можно использовать как контейнер. Или если планируется использовать БД для многих ресурсов, то можно поставить на отдельную машину или ещё лучше сделать центральный кластер. Вот пример: th-cam.com/video/n8EfzZkPADg/w-d-xo.htmlsi=sFkGQAHBNvqoKj9g

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

      @@RomNero Понял, а то есть я могу например взять в докер и поместить туда базу данных, а при добавление микросервиса, когда я упаковывать буду то просто пропишу в конфиге данные от бд?

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

      В основном верно. Смотря какие приложения и какие цели стоят. И стоит обращать внимание в какой сети будут находится отдельные контейнеры.

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

      @@RomNero Спасибо, понял.

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

    Очень наглядный урок, только не очень понятно что есть gitlab server, его предоставляет gitlab? Как к нему подключится?

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

      Посмотри начальные видео. Это 3-е видео из серии.

  • @pbadun
    @pbadun 2 ปีที่แล้ว

    вот бы так подробно но для SpringBoot и запуск dev в docker....

  • @vitalykargin
    @vitalykargin 2 ปีที่แล้ว

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

  • @user-cf3zs6fo4k
    @user-cf3zs6fo4k 10 หลายเดือนก่อน +1

    25:17 Делал всё по шагам, у меня нет gitlab-runner, мы же контейнер запускаем(по крайней мере до этого момента). Что произошло я не понял, gitlab-runner в одной вкладке у автора всё норм, вернулся на старую вкладку с установкой докером у него тоже всё норм. У меня при старте контейнера как ругался на сертификат так и ругается

  • @user-zg1ln2lh7m
    @user-zg1ln2lh7m 3 หลายเดือนก่อน

    Спасибо все круто, я не поня одно, как происходит деплой на сервере staging, где вы указываете чтобы деплоит на 10.10.10.127?
    Заранее блогадарю.

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

      Все происходит по тегам от gitlab runner.

    • @user-zg1ln2lh7m
      @user-zg1ln2lh7m 3 หลายเดือนก่อน

      спасибо понял@@RomNero

  • @artyomovanton
    @artyomovanton 2 ปีที่แล้ว

    Спасибо за урок! А что за клиент для SSH с табами?

    • @RomNero
      @RomNero  2 ปีที่แล้ว +1

      Это MobaXTerm th-cam.com/video/tFVGS_Dp-gs/w-d-xo.html

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

    на 14:03 "также есть дополнительные два сервера..."
    Откуда они взялись? Как нам их локально развернуть?

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

    нужна помощь, застрял на том, что не могу найти URL. Registration token- есть, URL не могу найти

  • @vitalykargin
    @vitalykargin 2 ปีที่แล้ว

    22:45 а где команда-то из видео openssl?

  • @user-ie6iw8jz6f
    @user-ie6iw8jz6f 3 หลายเดือนก่อน +1

    Вы проводите персональные уроки по DEVOPS?

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

      Пока не думал обэтом😄

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

    Добрый день, а где найти ссылку если ее у меня нет в Project runners?

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

    Надо прям через root?

  • @TrooperRX
    @TrooperRX 2 ปีที่แล้ว +2

    Пожалуйста сделайте отдельный выпуск Docker для чайников, вы тут пихаете докер, хотя мы понятия не имеем что у него под капотом и для чего он нужен, ну или хотя бы оставьте ссылку под этот комментарии хороший ресурс для его изучения на русском, заранее благодарен

    • @RomNero
      @RomNero  2 ปีที่แล้ว

      Спасибо. О докере будет видео. Но немного позже.

  • @user-zg1ln2lh7m
    @user-zg1ln2lh7m 5 วันที่ผ่านมา

    Добрый день!
    Хочу запускать скрип на хосте, такаая ошибка, а так npm установлен через root. pipline выполняется через user gitlab-runner.
    как запускать на рууте в определенном папке, npm install
    $ ssh root@10.11.12.13 'bash -s' < /opt/deploy.sh
    bash: line 3: npm: command not found
    bash: line 5: npm: command not found
    /usr/bin/env: ‘node’: No such file or directory
    Заранее блогадарю.

  • @eldarkarimov5791
    @eldarkarimov5791 ปีที่แล้ว +1

    Здраствуйте, здесь вы использовали самоподписанный сертификат да ? , потому что вы не создали запрос для подписывание сертификата

    • @RomNero
      @RomNero  ปีที่แล้ว +1

      Да, здесь использовался самоподписанный сертификат. Но лучше сделать нормальный (например, Let'sEncrypt)

  • @nastyanahamchena379
    @nastyanahamchena379 ปีที่แล้ว

    Вопрос, когда ты переходишь на сервер (gitlab test и staging) и пишешь там команды, куда ты переходиш где это... у меня гитлаб на vm azure где мне писать эти команды ?

    • @RomNero
      @RomNero  ปีที่แล้ว

      По ssh можно подключится к серверам даже в azure

  • @user-ii2sq9cq3y
    @user-ii2sq9cq3y หลายเดือนก่อน

    а как сейчас бегуна зарегать?Ошибку выдает при реге

  • @artiroot6903
    @artiroot6903 ปีที่แล้ว

    беда с этими сертификатами для локальной сети, самоподписные не работают в браузере, отсюда и раннер не зарегистрируешь

  • @user-gu5pz8xf3u
    @user-gu5pz8xf3u ปีที่แล้ว

    Привет) Установил первый ранер в докере как у тебя, с теми же командам в gitlab-ci.yml - все хорошо, также работает и выполняется. Но добавил другую команду('./mvnw package'), сборки архива java, и stage падает с ошибкой '/bin/bash: Permission denied' как у тебя во втором случае. Пытался выдать права внутри докера, но почти любая команда внутри контейнера не выполняется(даже статус ранера не могу узнать), и не думаю, что менять что-то внутри докера это вообще хорошо, я хотел хоть как-то заставить ранер выполнить джобу. Как можно разрешить эту проблему? з.ы. Докер с контейнером ранера стоит на винде, не уверен, что это важно, но все же.

    • @RomNero
      @RomNero  ปีที่แล้ว

      Привет. Я бы посмотрел именно скрипт mvnw. Возможно, он пытается использовать какие-то системные ресурсы.
      Попробуй запустить скрипт так: sh mvnw.
      Проверь права на файлы в проекте.

  • @MuKeXa
    @MuKeXa 2 ปีที่แล้ว +1

    Всё это хорошо, легко и просто, но в тепличных условиях.
    У меня есть машинка, но докер туда никак. И вот кагбы усьо...
    При деплое появляются "особенности", начинаешь изучать Ansible и выкручиваться как только можно :)
    + бюрократия добавляет веселия...
    А вообще да, CI/CD - хорошее дело.

    • @RomNero
      @RomNero  2 ปีที่แล้ว

      Полностью согласен. Отличные условия там, где нет ограничений, от этого страдает и безопасность.
      В Pipeline просто закинуть команды для ansible. И все так же можно автоматизировать))

    • @MuKeXa
      @MuKeXa 2 ปีที่แล้ว

      @@RomNero Но это еще один инструмент, хотя и полезный :)
      Я наверное и на канал этот попал, потому что искал инфо по ansible )))
      P.S. Я то уже нормально подразобрался, но по AWX как-то мало информации(ну или я плохо искал). Особенно тонкостей типа привязки credential Ansible Galaxy к организации. Иначе requirement.yaml не поедет. И оно зараза не в ошибку падает, а пишет msg в логе джобы ))) Еще были моменты, но не такие мучительные как этот )
      Успехов!

  • @alexbulavin543
    @alexbulavin543 ปีที่แล้ว

    CD = Continuous Delivery и Continues Deployment, насколько я представляю. А не Continues Development.
    Не так ли?

    • @RomNero
      @RomNero  ปีที่แล้ว

      В сочетании CI/CD - именно Delivery и Deployment, как доставка и развёртывание.

  • @TheBRYANT32
    @TheBRYANT32 20 วันที่ผ่านมา

    CD это continuous delivery/deployment

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

    Я новенький, подскажите это линукс, сендос или что стоит на серверах?

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

      Для видео использую Ubuntu

  • @daadshaman2095
    @daadshaman2095 ปีที่แล้ว

    Привет! Смотрю твои видео в 2023 и не перестаю удивляться)!
    Только вот ошибка при регистрации ранера на сервере так и осталась "x509: certificate signed by unknown authority"
    Сервер и ранер с докером запускаю на локальной машине без домена.
    Не могу понять где не прав...

    • @RomNero
      @RomNero  ปีที่แล้ว +1

      Спасибо.
      Проблема с сертификатом. Используется самосозданный сертификат. Решается импортом CA сертификата в раннер.

    • @daadshaman2095
      @daadshaman2095 ปีที่แล้ว

      @@RomNero спасибо, сейчас попробую посмотреть где это и как) А в ранер в etc/ssl/ ???

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

      @@daadshaman2095 Решил проблему?

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

      @@ibragimProtopopov нет, не решил...

  • @vladad162
    @vladad162 ปีที่แล้ว

    Добрый день. А можно ссылку на проект?)

    • @RomNero
      @RomNero  ปีที่แล้ว

      Приветствую. На какой проект? Это использовался gitlab в локальной сети

  • @asm64
    @asm64 ปีที่แล้ว

    Всё классно, только не понятно зачем такая дичь на стейж и прод без докера? Как минимум с привязкой к хост системе начнутся проблемы с версиями того же питона и енвы не помогут (что собственно и указано в доках). Три шага назад получается. По идее после второго шага нужно слить конты в докер режистри, а на продах уже готовый конт вытягивать. При этом в енвах на проде DEVELOP=False.
    Второй момент. Проще готовый скрипт запускать, чем формировать его на лету. Получается код не самодостаточный и уже без гитлаба не работает. Для группы серверов достаточно одного ранера с ансиблом.
    Но я думаю это здесь чисто для примера. Спасибо за видео.

    • @RomNero
      @RomNero  ปีที่แล้ว +1

      Спасибо за комментарий.
      Согласен с Вами. Это чисто что бы показать как работает CI и что бы без сильных наворотов. В прод так делать не стоит 😄

  • @wordofworld6874
    @wordofworld6874 ปีที่แล้ว

    У вас есть test и staging как вы их создали?

    • @wordofworld6874
      @wordofworld6874 ปีที่แล้ว

      Здесь просто показали что есть у вас сервера th-cam.com/video/jAIhhULc7YA/w-d-xo.html а как их создать?

    • @RomNero
      @RomNero  ปีที่แล้ว +1

      У меня сервера созданы в proxmox.
      Если есть трудности с созданием серверов. То лучше начать изучать изначально эти вещи, а потом уже переходить к cicd

    • @wordofworld6874
      @wordofworld6874 ปีที่แล้ว

      @@RomNero Не понял что за сервера. Можете ссылочку кинуть? ) Где почитать как сервера сделать?

  • @derekstackboy6583
    @derekstackboy6583 ปีที่แล้ว

    а как зайти в админ панель? а то у меня нету такой вкладки

    • @RomNero
      @RomNero  ปีที่แล้ว

      Должны быть права админа. Справа вверху есть меню. В меню снизу будет "Admin"

  • @user-ks3om2th1o
    @user-ks3om2th1o ปีที่แล้ว

    Спасибо за урок, есть проблема одна, не знаю как решить. Установил докер, скачал ранер по инструкции на локальной машине. При регистрации выдает ошибку. И комент, уже который раз, удаляют!

    • @user-ks3om2th1o
      @user-ks3om2th1o ปีที่แล้ว

      если делать как по инструкции то он пытается достучаться до гитлаба через интернет, добавил "docker run --add-host=gitlab.test.ru:192.168.xxx.xxx --rm -it -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register", теперь уже ругается на сертификат "x509: certificate relies on legacy Common Name field, use SANs instead"

    • @RomNero
      @RomNero  ปีที่แล้ว

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

    • @user-ks3om2th1o
      @user-ks3om2th1o ปีที่แล้ว +1

      В общем забил на этот docker -> gitlab-runner, поднял новую виртуалку, туда поставил docker и gitlab-runner все зарегистрировал, что бы не вылезала ошибка "x509: certificate relies on legacy Common Name field, use SANs instead", нужно было перегенерировать ключик с дополнительным параметром -addext "subjectAltName = DNS:gitlab.XXX". И еще одна проблема была когда запускал gitlab CI, выдавал ошибку "Fatal: unable to access and could not resolve host", для этого надо зайти в /etc/gitlab-runner/config.toml и там в [runners.docker] добавить extra_hosts = ["gitlab.XXX:ip сервера"]

    • @user-td3br7hc7v
      @user-td3br7hc7v ปีที่แล้ว

      @@user-ks3om2th1o ты крутой! Как нашел решение ко второму вопросу?

  • @Alexander-tl8uw
    @Alexander-tl8uw 11 วันที่ผ่านมา

    А где yaml для ci/cd? Набирать с экрана?(

    • @RomNero
      @RomNero  11 วันที่ผ่านมา

      Ой, нужно закинуть. Спасибо. Я не заметил.

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

    Не знаешь, где взять "authentication token" вместо "registration token", которую скоро уберут? Никак не пойму, где взять этот токен 🤷‍♂

  • @brest1019
    @brest1019 ปีที่แล้ว

    ссылка на команды в видео уже не работает?

    • @RomNero
      @RomNero  ปีที่แล้ว +1

      Спасибо.
      Ссылку исправил.

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

    А что значит обойти проблему с сертификатом? А как в реальном проекте происходит, чтобы не обходить, а сделать как надо?))

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

      Проблема, когда используется самоподписанный сертификат. В этом случае клиенты не доверяют данному сертификату. Но CA можно внести в систему клиентов. И тогда всё работает. Так делают так же в прод.
      Второй вариант - использовать официальные сертификаты. Например, от Let'sEncrypt.

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

      @@RomNero спасибо за ответ) x509: certificate relies on legacy Common Name field, use SANs instead Вот такая ошибка у меня. Делаю все как на видео

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

      сейчас как-то иначе добавлять runner нужно, может из-за этого

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

    do this courses in english so that more people can take benefit from it

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

      Thank you. I will make a separate channel for tutorials in English

  • @wordofworld6874
    @wordofworld6874 ปีที่แล้ว

    У меня gitlab внутри контейнера запускается. Как мне внутрь еще gitlab установить докер? th-cam.com/video/jAIhhULc7YA/w-d-xo.html

    • @RomNero
      @RomNero  ปีที่แล้ว

      Можно параллельно к gitlab установить runner

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

    Не "Continuous Development", а "Continuous Deployment"

  • @data-center-project
    @data-center-project 6 หลายเดือนก่อน +1

    mkdir -p
    если директория существует, то ругаться не будет

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

    Начало не плохое. Немного расстроила необходимость создавать сервер с самим гитлабом (ну ведь подавляющее большинство используют сам гитлаб, а не его установщик на своем сервере). Теперь, думаю, что ничего не війдет, но надеюсь хоть что-то новое пойму. (3 дня уже бегаю по туториалам - везде одно и то-же, и не работает НИ ЧЕ ГО)

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

      С официальным gitlab все так же работает. И сама фишка gitlab в отличии от github, что его можно установить у себя в окружении. Именно это и делает большинство.
      Если ничего не работает, то нужно искать ошибку, наверное, в другом месте.
      Могу только посоветовать: посмотреть официальную документацию, может там получится решить возникающие проблемы.

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

      @@RomNero я как только не пробовал. И по документации шел и на стековерлоу спрашивал - не отвечают. Я не понимаю. Ранер не создает файл на сервере - он создает файл где-то у себя.Но не на сервере. Через ssh тоже не получатся настроить - ранер не видит созданной переменной. Никто нигде не отвечает. Дока очень громоздкая, информация разбросанная. Много версионности которая сильнно путает. В ютубе все только на серверах и то я не понимаю КАК сохраняются файлы на сервере, если у меня сохраняются только где-то в закромах гитлаба под ранером. Ну почему нет елементарных вещей в доступе? Почему НИКТО в интернете не знает КАК сохранить файл на сервере через гитлаб си-сд??? Что это вообще?

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

      @@RomNero Ну вот смотрите. В документации, в разделе Регистрации Ранера написано: "Install it on a server separate than where GitLab is installed". Исходя из этого понятно, что зарегестрировать можно только на том сервере, где НЕ установлен сам гитлаб. А все туториалы уставливают там где он есть. Как тут не запутаться? Как верить в то, что я что-то сделал не так, раз никто не делает так, как в документации?

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

      В документации все верно написано. Именно отдельная установка ranner соответствует "лучшим практикам". Но там не стоит you must install it...
      Здесь стоит сначала понять логику работы gitlab CI. Сложного в этом нет.
      Вы меня подтолкнулм на мысль сделать ещё видео о gitlab CI. С учётом best practice и с использованием более сложных схем bild, test, deploy...

  • @bind2738
    @bind2738 ปีที่แล้ว

    Видос интересный и полезный, но ощущается, невыверенность сценария, постоянные заминки, лишние переходы и т.д. растягивают хронометраж.
    Думаю лучше подготовить весь код для видео изначально, чтобы не сидеть и не писать его по 5 минут, а просто вставляю его в нужные моменты с объяснениями.

    • @RomNero
      @RomNero  ปีที่แล้ว

      Спасибо за отзыв и конструктивную критику. Я это делаю как хобби. Поэтому сильно не готовлюсь, не пишу сценарий. Только на постобработке что-то подправляю. Не претендую на лучшие лаконичные видео 😄

    • @bind2738
      @bind2738 ปีที่แล้ว +1

      Думаю они правда может стать одним из лучших обучающих видео на эту тему, если подготовить хороший сценарий и заправить его более добротным визуалом, для более наглядного объяснения.

    • @RomNero
      @RomNero  ปีที่แล้ว

      Спасибо за совет. Попробую.
      Но именно визуал (анимация, эффекты) занимают у меня огромное количество времени. Не очень креативный я в этом 😄 и не хочется превращать хобби в "нужно".
      Хотя, я с Вами полностью согласен, что тогда было бы интереснее смотреть.
      Попробую сделать, посмотрим что выйдет 😉