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

Поділитися
Вставка
  • Опубліковано 11 чер 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/UA-cam-In...
    Установка GitLab: about.gitlab.com/install/?ver...
    Gitlab Runner: docs.gitlab.com/runner/
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Буду очень благодарен за поддержку в виде чашечки ☕️:
    www.buymeacoffee.com/RomNero
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Предложениям пишите на: infotube@romnero.de
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

КОМЕНТАРІ • 241

  • @SunsSpott
    @SunsSpott 2 роки тому +37

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

    • @RomNero
      @RomNero  2 роки тому +12

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

    • @missile158
      @missile158 6 місяців тому +2

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

  • @riariorovere2462
    @riariorovere2462 2 роки тому +18

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

  • @aleksandrmatyka3118
    @aleksandrmatyka3118 7 годин тому

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

  • @ilya9485
    @ilya9485 2 роки тому +5

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

    • @RomNero
      @RomNero  2 роки тому +1

      Спасибо))

  • @volsof
    @volsof 9 місяців тому +5

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

    • @RomNero
      @RomNero  9 місяців тому +2

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

  • @pnppro100kvashin5
    @pnppro100kvashin5 2 роки тому +5

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

  • @user-ki4cd6dc6u
    @user-ki4cd6dc6u Рік тому +4

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

    • @RomNero
      @RomNero  Рік тому

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

  • @user-ls6cz2vo2m
    @user-ls6cz2vo2m 16 днів тому

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

    • @RomNero
      @RomNero  15 днів тому

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

  • @user-tk7hx1jk6r
    @user-tk7hx1jk6r Рік тому +3

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

    • @RomNero
      @RomNero  Рік тому

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

  • @happymishka1
    @happymishka1 Рік тому +2

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

    • @RomNero
      @RomNero  Рік тому

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

  • @chuckchuck1090
    @chuckchuck1090 Рік тому +1

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

    • @RomNero
      @RomNero  Рік тому

      Спасибо 👍🏻

  • @crazy_king
    @crazy_king 2 роки тому +7

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

    • @RomNero
      @RomNero  2 роки тому

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

  • @larybronson
    @larybronson Рік тому +1

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

  • @MRoose
    @MRoose 2 роки тому +22

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

    • @RomNero
      @RomNero  2 роки тому +3

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

  • @vladpetrachuk4873
    @vladpetrachuk4873 2 роки тому +3

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

    • @RomNero
      @RomNero  2 роки тому

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

  • @user-ie6iw8jz6f
    @user-ie6iw8jz6f 4 місяці тому

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

  • @dkaa77
    @dkaa77 Рік тому +4

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

    • @RomNero
      @RomNero  Рік тому +1

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

  • @brest1019
    @brest1019 2 роки тому +4

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

    • @RomNero
      @RomNero  2 роки тому

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

  • @networkthor2136
    @networkthor2136 2 роки тому +2

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

  • @armcfly9485
    @armcfly9485 Рік тому

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

    • @RomNero
      @RomNero  Рік тому

      Спасибо👍

  • @UAStriker
    @UAStriker Рік тому +1

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

    • @RomNero
      @RomNero  Рік тому

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

  • @AlexK-df4ne
    @AlexK-df4ne Рік тому +3

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

    • @RomNero
      @RomNero  Рік тому

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

  • @user-vr8lk7fx4l
    @user-vr8lk7fx4l 2 роки тому +1

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

  • @gor_7799
    @gor_7799 Рік тому +1

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

  • @dmitrysmith1380
    @dmitrysmith1380 6 місяців тому

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

    • @RomNero
      @RomNero  6 місяців тому

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

  • @mrWiled
    @mrWiled 10 місяців тому +1

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

  • @user-sp4oq7yk9w
    @user-sp4oq7yk9w Рік тому +2

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

  • @olgaryzhkova2330
    @olgaryzhkova2330 Рік тому +2

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

    • @RomNero
      @RomNero  Рік тому +1

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

  • @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, т.к я не кодер а админ. Плюс это какой-никакой бекап конфига. Я знаю, что если я разверну новый сервер и подключу к нему этот конфиг, то сервер сам настроит себя до требуемого состояния. На это уходит много времени при первоначальной конфигурации, но потом это окупается.

  • @chuckchuck1090
    @chuckchuck1090 Рік тому +2

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

    • @RomNero
      @RomNero  Рік тому +1

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

    • @chuckchuck1090
      @chuckchuck1090 Рік тому

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

    • @RomNero
      @RomNero  Рік тому

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

  • @erics8362
    @erics8362 2 роки тому +1

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

    • @RomNero
      @RomNero  2 роки тому

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

  • @sysadmin84
    @sysadmin84 2 роки тому

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

  • @tronco3180
    @tronco3180 2 роки тому +1

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

    • @RomNero
      @RomNero  2 роки тому

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

  • @evgvac
    @evgvac Рік тому

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

    • @RomNero
      @RomNero  Рік тому

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

    • @evgvac
      @evgvac Рік тому

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

    • @RomNero
      @RomNero  Рік тому

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

  • @Serg71007
    @Serg71007 12 днів тому

    Спасибо большое за видео!

  • @tsargvidon760
    @tsargvidon760 2 роки тому +1

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

    • @RomNero
      @RomNero  2 роки тому

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

  • @Bupyc2006
    @Bupyc2006 2 роки тому +1

    spasibo, kak wsegda wsio kruto :)

  • @ueukxvj
    @ueukxvj 10 місяців тому +1

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

    • @RomNero
      @RomNero  10 місяців тому

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

  • @user-bu3dt3ou7n
    @user-bu3dt3ou7n Рік тому +2

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

    • @RomNero
      @RomNero  Рік тому +1

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

  • @kumaranv7006
    @kumaranv7006 Рік тому +2

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

  • @givgiv6688
    @givgiv6688 11 місяців тому

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

    • @RomNero
      @RomNero  11 місяців тому

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

  • @user-ie6iw8jz6f
    @user-ie6iw8jz6f 4 місяці тому

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

    • @RomNero
      @RomNero  4 місяці тому

      Отлично 👍

  • @BlessingOfLord
    @BlessingOfLord 4 місяці тому

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

    • @RomNero
      @RomNero  4 місяці тому +1

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

  • @devospos
    @devospos 4 дні тому

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

  • @dreng1r
    @dreng1r 2 роки тому +3

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

    • @RomNero
      @RomNero  2 роки тому +3

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

  • @user-wx1zs5or4z
    @user-wx1zs5or4z 10 місяців тому

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

    • @RomNero
      @RomNero  10 місяців тому

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

  • @_Yar_
    @_Yar_ Рік тому

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

    • @RomNero
      @RomNero  Рік тому

      Спасибо 👍

  • @UralBashkiria
    @UralBashkiria 2 місяці тому

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

    • @RomNero
      @RomNero  2 місяці тому

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

  • @igorgladkov8270
    @igorgladkov8270 Рік тому +1

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

    • @RomNero
      @RomNero  Рік тому

      Рад помочь👍🏻

  • @vvops2540
    @vvops2540 Рік тому +1

    СПАСИБО!!!

  • @playlist483
    @playlist483 10 місяців тому

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

  • @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 спасибо, почитаю

  • @Timm1735
    @Timm1735 6 місяців тому

    спасибо

  • @izmailovlz
    @izmailovlz Рік тому +1

    огонь!

  • @antonkhokhlov7975
    @antonkhokhlov7975 Рік тому +2

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

    • @RomNero
      @RomNero  Рік тому

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

    • @antonkhokhlov7975
      @antonkhokhlov7975 Рік тому

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

  • @BorisPentego
    @BorisPentego Рік тому

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

    • @RomNero
      @RomNero  Рік тому

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

  • @Alayzcer
    @Alayzcer 2 роки тому +2

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

    • @RomNero
      @RomNero  2 роки тому

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

  • @vitalykargin
    @vitalykargin 2 роки тому

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

  • @stanislavnedosekin
    @stanislavnedosekin Рік тому +2

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

    • @RomNero
      @RomNero  Рік тому +1

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

  • @fordevuz
    @fordevuz 8 місяців тому

    👍

  • @Frezer911
    @Frezer911 Рік тому +2

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

    • @RomNero
      @RomNero  Рік тому

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

  • @artyomovanton
    @artyomovanton 2 роки тому

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

    • @RomNero
      @RomNero  2 роки тому +1

      Это MobaXTerm ua-cam.com/video/tFVGS_Dp-gs/v-deo.html

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

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

  • @mikhailplekhov3894
    @mikhailplekhov3894 Рік тому +1

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

    • @RomNero
      @RomNero  Рік тому +1

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

  • @slovaricKRIPTONA
    @slovaricKRIPTONA 29 днів тому

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

  • @samsonhonda2484
    @samsonhonda2484 2 роки тому +1

    жестко

    • @RomNero
      @RomNero  2 роки тому

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

  • @user-zg1ln2lh7m
    @user-zg1ln2lh7m Місяць тому

    Добрый день!
    Хочу запускать скрип на хосте, такаая ошибка, а так 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
    Заранее блогадарю.

  • @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).

  • @user-zg1ln2lh7m
    @user-zg1ln2lh7m 4 місяці тому

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

    • @RomNero
      @RomNero  4 місяці тому +1

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

    • @user-zg1ln2lh7m
      @user-zg1ln2lh7m 3 місяці тому

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

  • @sentix1288
    @sentix1288 8 місяців тому

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

    • @RomNero
      @RomNero  8 місяців тому +2

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

    • @sentix1288
      @sentix1288 8 місяців тому

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

    • @RomNero
      @RomNero  8 місяців тому

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

    • @sentix1288
      @sentix1288 8 місяців тому

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

  • @user-cf3zs6fo4k
    @user-cf3zs6fo4k 10 місяців тому +1

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

  • @eldarkarimov5791
    @eldarkarimov5791 Рік тому +1

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

    • @RomNero
      @RomNero  Рік тому +1

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

  • @pbadun
    @pbadun 2 роки тому

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

  • @user-ie6iw8jz6f
    @user-ie6iw8jz6f 4 місяці тому +1

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

    • @RomNero
      @RomNero  4 місяці тому

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

  • @Seraf_
    @Seraf_ 19 годин тому

    Можно же показать где что сохраняется

  • @vitalykargin
    @vitalykargin 2 роки тому

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

  • @user-yu4tx2sv2g
    @user-yu4tx2sv2g 10 місяців тому

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

  • @myyyp1
    @myyyp1 5 місяців тому

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

  • @cheater4105
    @cheater4105 9 місяців тому

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

  • @user-gu5pz8xf3u
    @user-gu5pz8xf3u Рік тому

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

    • @RomNero
      @RomNero  Рік тому

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

  • @TrooperRX
    @TrooperRX 2 роки тому +2

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

    • @RomNero
      @RomNero  2 роки тому

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

  • @nastyanahamchena379
    @nastyanahamchena379 2 роки тому

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

    • @RomNero
      @RomNero  2 роки тому

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

  • @screamoviolence1456
    @screamoviolence1456 10 місяців тому

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

    • @RomNero
      @RomNero  10 місяців тому +1

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

  • @artiroot6903
    @artiroot6903 Рік тому

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

  • @alexbulavin543
    @alexbulavin543 Рік тому

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

    • @RomNero
      @RomNero  Рік тому

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

  • @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 в логе джобы ))) Еще были моменты, но не такие мучительные как этот )
      Успехов!

  • @top_auto600
    @top_auto600 2 місяці тому

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

    • @RomNero
      @RomNero  2 місяці тому

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

  • @vladad162
    @vladad162 Рік тому

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

    • @RomNero
      @RomNero  Рік тому

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

  • @user-ii2sq9cq3y
    @user-ii2sq9cq3y 2 місяці тому

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

  • @wordofworld6874
    @wordofworld6874 Рік тому

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

    • @wordofworld6874
      @wordofworld6874 Рік тому

      Здесь просто показали что есть у вас сервера ua-cam.com/video/jAIhhULc7YA/v-deo.html а как их создать?

    • @RomNero
      @RomNero  Рік тому +1

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

    • @wordofworld6874
      @wordofworld6874 Рік тому

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

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

    CD это continuous delivery/deployment

  • @brest1019
    @brest1019 Рік тому

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

    • @RomNero
      @RomNero  Рік тому +1

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

  • @derekstackboy6583
    @derekstackboy6583 Рік тому

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

    • @RomNero
      @RomNero  Рік тому

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

  • @ralymbetov
    @ralymbetov 5 місяців тому

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

  • @Alexander-tl8uw
    @Alexander-tl8uw Місяць тому

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

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

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

  • @asm64
    @asm64 Рік тому

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

    • @RomNero
      @RomNero  Рік тому +1

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

  • @daadshaman2095
    @daadshaman2095 Рік тому

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

    • @RomNero
      @RomNero  Рік тому +1

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

    • @daadshaman2095
      @daadshaman2095 Рік тому

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

    • @ibragimProtopopov
      @ibragimProtopopov Рік тому

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

    • @daadshaman2095
      @daadshaman2095 Рік тому

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

  • @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 ты крутой! Как нашел решение ко второму вопросу?

  • @shamstabrez2986
    @shamstabrez2986 8 місяців тому

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

    • @RomNero
      @RomNero  8 місяців тому

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

  • @ibragimProtopopov
    @ibragimProtopopov Рік тому

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

    • @RomNero
      @RomNero  Рік тому

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

    • @ibragimProtopopov
      @ibragimProtopopov Рік тому +1

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

    • @ibragimProtopopov
      @ibragimProtopopov Рік тому

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