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

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

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

  • @SunsSpott
    @SunsSpott 2 года назад +35

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

    • @RomNero
      @RomNero  2 года назад +12

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

    • @missile158
      @missile158 6 месяцев назад +1

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

  • @riariorovere2462
    @riariorovere2462 2 года назад +17

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

  • @pnppro100kvashin5
    @pnppro100kvashin5 2 года назад +5

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

  • @ilya9485
    @ilya9485 2 года назад +5

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

    • @RomNero
      @RomNero  2 года назад +1

      Спасибо))

  • @crazy_king
    @crazy_king 2 года назад +7

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

    • @RomNero
      @RomNero  2 года назад

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

  • @dkaa77
    @dkaa77 Год назад +4

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

    • @RomNero
      @RomNero  Год назад +1

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

  • @user-tk7hx1jk6r
    @user-tk7hx1jk6r Год назад +3

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

    • @RomNero
      @RomNero  Год назад

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

  • @networkthor2136
    @networkthor2136 2 года назад +2

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

  • @vladpetrachuk4873
    @vladpetrachuk4873 2 года назад +3

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

    • @RomNero
      @RomNero  2 года назад

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

  • @volsof
    @volsof 9 месяцев назад +5

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

    • @RomNero
      @RomNero  9 месяцев назад +2

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

  • @larybronson
    @larybronson Год назад +1

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

  • @user-ie6iw8jz6f
    @user-ie6iw8jz6f 4 месяца назад

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

  • @UAStriker
    @UAStriker Год назад +1

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

    • @RomNero
      @RomNero  Год назад

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

  • @user-vr8lk7fx4l
    @user-vr8lk7fx4l 2 года назад +1

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

  • @user-ki4cd6dc6u
    @user-ki4cd6dc6u Год назад +4

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

    • @RomNero
      @RomNero  Год назад

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

  • @happymishka1
    @happymishka1 Год назад +2

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

    • @RomNero
      @RomNero  Год назад

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

  • @gor_7799
    @gor_7799 Год назад +1

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

  • @brest1019
    @brest1019 2 года назад +4

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

    • @RomNero
      @RomNero  2 года назад

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

  • @AlexK-df4ne
    @AlexK-df4ne Год назад +3

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

    • @RomNero
      @RomNero  Год назад

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

  • @MRoose
    @MRoose Год назад +22

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

    • @RomNero
      @RomNero  Год назад +3

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

  • @user-sp4oq7yk9w
    @user-sp4oq7yk9w Год назад +2

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

  • @olgaryzhkova2330
    @olgaryzhkova2330 Год назад +2

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

    • @RomNero
      @RomNero  Год назад +1

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

  • @armcfly9485
    @armcfly9485 Год назад

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

    • @RomNero
      @RomNero  Год назад

      Спасибо👍

  • @mrWiled
    @mrWiled 10 месяцев назад +1

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

  • @user-ls6cz2vo2m
    @user-ls6cz2vo2m 9 дней назад

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

    • @RomNero
      @RomNero  8 дней назад

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

  • @tsargvidon760
    @tsargvidon760 2 года назад +1

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

    • @RomNero
      @RomNero  2 года назад

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

  • @chuckchuck1090
    @chuckchuck1090 Год назад +1

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

    • @RomNero
      @RomNero  Год назад

      Спасибо 👍🏻

  • @tronco3180
    @tronco3180 2 года назад +1

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

    • @RomNero
      @RomNero  2 года назад

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

  • @sysadmin84
    @sysadmin84 2 года назад

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

  • @evgvac
    @evgvac Год назад

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

    • @RomNero
      @RomNero  Год назад

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

    • @evgvac
      @evgvac Год назад

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

    • @RomNero
      @RomNero  Год назад

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

  • @erics8362
    @erics8362 2 года назад +1

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

    • @RomNero
      @RomNero  2 года назад

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

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

  • @Bupyc2006
    @Bupyc2006 2 года назад +1

    spasibo, kak wsegda wsio kruto :)

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

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

  • @user-bu3dt3ou7n
    @user-bu3dt3ou7n Год назад +2

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

    • @RomNero
      @RomNero  Год назад +1

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

  • @givgiv6688
    @givgiv6688 11 месяцев назад

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

    • @RomNero
      @RomNero  10 месяцев назад

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

  • @user-ie6iw8jz6f
    @user-ie6iw8jz6f 3 месяца назад

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

    • @RomNero
      @RomNero  3 месяца назад

      Отлично 👍

  • @user-wx1zs5or4z
    @user-wx1zs5or4z 10 месяцев назад

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

    • @RomNero
      @RomNero  10 месяцев назад

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

  • @chuckchuck1090
    @chuckchuck1090 Год назад +2

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

    • @RomNero
      @RomNero  Год назад +1

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

    • @chuckchuck1090
      @chuckchuck1090 Год назад

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

    • @RomNero
      @RomNero  Год назад

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

  • @dmitrysmith1380
    @dmitrysmith1380 6 месяцев назад

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

    • @RomNero
      @RomNero  6 месяцев назад

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

  • @ueukxvj
    @ueukxvj 10 месяцев назад +1

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

    • @RomNero
      @RomNero  10 месяцев назад

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

  • @igorgladkov8270
    @igorgladkov8270 Год назад +1

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

    • @RomNero
      @RomNero  Год назад

      Рад помочь👍🏻

  • @kumaranv7006
    @kumaranv7006 Год назад +2

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

  • @_Yar_
    @_Yar_ Год назад

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

    • @RomNero
      @RomNero  Год назад

      Спасибо 👍

  • @vvops2540
    @vvops2540 Год назад +1

    СПАСИБО!!!

  • @BlessingOfLord
    @BlessingOfLord 4 месяца назад

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

    • @RomNero
      @RomNero  4 месяца назад +1

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

  • @dreng1r
    @dreng1r 2 года назад +3

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

    • @RomNero
      @RomNero  2 года назад +3

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

  • @izmailovlz
    @izmailovlz Год назад +1

    огонь!

  • @UralBashkiria
    @UralBashkiria 2 месяца назад

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

    • @RomNero
      @RomNero  2 месяца назад

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

  • @playlist483
    @playlist483 10 месяцев назад

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

  • @vitalykargin
    @vitalykargin 2 года назад

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

  • @Timm1735
    @Timm1735 6 месяцев назад

    спасибо

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

  • @antonkhokhlov7975
    @antonkhokhlov7975 Год назад +2

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

    • @RomNero
      @RomNero  Год назад

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

    • @antonkhokhlov7975
      @antonkhokhlov7975 Год назад

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

  • @stanislavnedosekin
    @stanislavnedosekin Год назад +2

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

    • @RomNero
      @RomNero  Год назад +1

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

  • @BorisPentego
    @BorisPentego Год назад

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

    • @RomNero
      @RomNero  Год назад

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

  • @Alayzcer
    @Alayzcer 2 года назад +2

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

    • @RomNero
      @RomNero  2 года назад

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

  • @samsonhonda2484
    @samsonhonda2484 2 года назад +1

    жестко

    • @RomNero
      @RomNero  2 года назад

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

  • @artyomovanton
    @artyomovanton 2 года назад

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

    • @RomNero
      @RomNero  2 года назад +1

      Это MobaXTerm ruclips.net/video/tFVGS_Dp-gs/видео.html

  • @user-zg1ln2lh7m
    @user-zg1ln2lh7m 3 месяца назад

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

    • @RomNero
      @RomNero  3 месяца назад +1

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

    • @user-zg1ln2lh7m
      @user-zg1ln2lh7m 3 месяца назад

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

  • @Frezer911
    @Frezer911 Год назад +2

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

    • @RomNero
      @RomNero  Год назад

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

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

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

  • @eldarkarimov5791
    @eldarkarimov5791 Год назад +1

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

    • @RomNero
      @RomNero  Год назад +1

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

  • @mikhailplekhov3894
    @mikhailplekhov3894 Год назад +1

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

    • @RomNero
      @RomNero  Год назад +1

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

  • @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: можно использовать как контейнер. Или если планируется использовать БД для многих ресурсов, то можно поставить на отдельную машину или ещё лучше сделать центральный кластер. Вот пример: ruclips.net/video/n8EfzZkPADg/видео.htmlsi=sFkGQAHBNvqoKj9g

    • @sentix1288
      @sentix1288 8 месяцев назад

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

    • @RomNero
      @RomNero  8 месяцев назад

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

    • @sentix1288
      @sentix1288 8 месяцев назад

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

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

  • @slovaricKRIPTONA
    @slovaricKRIPTONA 22 дня назад

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

  • @user-gu5pz8xf3u
    @user-gu5pz8xf3u Год назад

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

    • @RomNero
      @RomNero  Год назад

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

  • @nastyanahamchena379
    @nastyanahamchena379 2 года назад

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

    • @RomNero
      @RomNero  2 года назад

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

  • @fordevuz
    @fordevuz 8 месяцев назад

    👍

  • @user-ie6iw8jz6f
    @user-ie6iw8jz6f 3 месяца назад +1

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

    • @RomNero
      @RomNero  3 месяца назад

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

  • @vitalykargin
    @vitalykargin 2 года назад

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

  • @user-zg1ln2lh7m
    @user-zg1ln2lh7m 27 дней назад

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

  • @myyyp1
    @myyyp1 5 месяцев назад

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

  • @user-cf3zs6fo4k
    @user-cf3zs6fo4k 10 месяцев назад +1

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

  • @user-yu4tx2sv2g
    @user-yu4tx2sv2g 9 месяцев назад

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

  • @pbadun
    @pbadun 2 года назад

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

  • @vladad162
    @vladad162 Год назад

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

    • @RomNero
      @RomNero  Год назад

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

  • @user-td3br7hc7v
    @user-td3br7hc7v Год назад +4

    Привет! Добавлю от себя - если при регистрации получаем вот такую ошибку - x509: certificate relies on legacy Common Name field, use SANs instead. То нужно выпустить сертификат с дополнительным флагом -addext 'subjectAltName = DNS:gitlab.example.com'
    Полная команда sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/gitlab/ssl/gitlab.example.com.key -out /etc/gitlab/ssl/gitlab.example.com.crt -addext 'subjectAltName = DNS:gitlab.example.com'
    И на 25:00 можно не маркетанить с загрузкой сертификата, а просто скопировать из /etc/gitlab/ssl/gitlab.example.com.crt в /etc/gitlab-runner/certs/gitlab.example.com.crt

    • @RomNero
      @RomNero  Год назад

      Спасибо. Будут точно полезно!

    • @MrElfones
      @MrElfones Год назад

      Спасибо, очень помогло)

  • @cheater4105
    @cheater4105 8 месяцев назад

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

  • @wordofworld6874
    @wordofworld6874 Год назад

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

    • @wordofworld6874
      @wordofworld6874 Год назад

      Здесь просто показали что есть у вас сервера ruclips.net/video/jAIhhULc7YA/видео.html а как их создать?

    • @RomNero
      @RomNero  Год назад +1

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

    • @wordofworld6874
      @wordofworld6874 Год назад

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

  • @top_auto600
    @top_auto600 2 месяца назад

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

    • @RomNero
      @RomNero  2 месяца назад

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

  • @alexbulavin543
    @alexbulavin543 Год назад

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

    • @RomNero
      @RomNero  Год назад

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

  • @screamoviolence1456
    @screamoviolence1456 10 месяцев назад

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

    • @RomNero
      @RomNero  10 месяцев назад +1

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

  • @brest1019
    @brest1019 Год назад

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

    • @RomNero
      @RomNero  Год назад +1

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

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

  • @TrooperRX
    @TrooperRX 2 года назад +2

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

    • @RomNero
      @RomNero  2 года назад

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

  • @artiroot6903
    @artiroot6903 Год назад

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

  • @user-ii2sq9cq3y
    @user-ii2sq9cq3y 2 месяца назад

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

  • @derekstackboy6583
    @derekstackboy6583 Год назад

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

    • @RomNero
      @RomNero  Год назад

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

  • @Alexander-tl8uw
    @Alexander-tl8uw Месяц назад

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

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

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

  • @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 нет, не решил...

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

    CD это continuous delivery/deployment

  • @ralymbetov
    @ralymbetov 5 месяцев назад

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

  • @asm64
    @asm64 Год назад

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

    • @RomNero
      @RomNero  Год назад +1

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

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

  • @wordofworld6874
    @wordofworld6874 Год назад

    У меня gitlab внутри контейнера запускается. Как мне внутрь еще gitlab установить докер? ruclips.net/video/jAIhhULc7YA/видео.html

    • @RomNero
      @RomNero  Год назад

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

  • @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 8 месяцев назад

    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

  • @data-center-project
    @data-center-project 6 месяцев назад +1

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