03- DevOps практика: GitlLab CI+Runners. Создание CI CD Pipeline.
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/KZread-In...
Установка GitLab: about.gitlab.com/install/?ver...
Gitlab Runner: docs.gitlab.com/runner/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Буду очень благодарен за поддержку в виде чашечки ☕️:
www.buymeacoffee.com/RomNero
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Предложениям пишите на: infotube@romnero.de
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Пікірлер: 241
Большое спасибо! Очень полезный курс
Это очень крутой урок! Огромное спасибо!
Классный урок, спасибо! "билЬд" немного резал ухо, немецкий учил наверное)))
@RomNero
2 жыл бұрын
Спвсибо. Да, я в Германии живу.
@missile158
7 ай бұрын
Подсказка тебе была когда он указывал адрес runner .de. JA JA NATURLICH DAST IS BILD MEIN SCHULLER))
Благодарен за грамотные обзоры. Спасибо за труды и старания!
@RomNero
2 жыл бұрын
Спасибо))
Благодарю автора за время и материал!) Всё отлично работает, после нескольких дней мучений. Оставлю это здесь на случай аналогичных проблем!
@RomNero
Жыл бұрын
Спасибо за позитивный отзыв 👍😀
Огромное тебе спасибо за твоё подробное творчество. :)
@RomNero
2 жыл бұрын
Спасибо за оценку👍🏻
Спасибо за уроки, темпы что надо с разъяснениями.
@RomNero
Жыл бұрын
Спасибо за отзыв. Значит буду продолжать в таком же стиле 👍🏻😊
Благодарю! Все очень понятно! Получилось разобраться в CI/CD и пайплайнах. Все очень подробно и сразу понятно!
@RomNero
Жыл бұрын
Спасибо за отзыв 👍🏻 двигаемся в таком же нарравлении
Спасибо тебе за твои труды!
@RomNero
Жыл бұрын
Спасибо за отзыв 👍🏻😊
Просмотрел и не добавил лайк, вернулся исправился))) Спс за гайды, очень круто. Благодаря этому гайду потом хоть знаешь что гуглить и искать дальше
@RomNero
Жыл бұрын
Спасибо 👍🏻
Отличная работа! Огромное спасибо за материал!
@RomNero
2 жыл бұрын
Спасибо за отзыв. Мне очень важно знать, что материал понятно изложен))
спасибо тебе милый человек, ты открыл мне глаза на гитлаб си
Очень хороший урок. Для начинающих очень подходит. Автору плюс в карму за труд.
@RomNero
9 ай бұрын
Спасибо😉 больше получился не как урок, а пример использования. По Gitlab CI ещё сделаю полноценное видео
Прекрасное видео! Спасибо!
урок супер, все четко и без воды
Спасибо братанчик за старания!💪👍 Благодарим!
@RomNero
2 жыл бұрын
Всегда пожалуйста 😉
Очень полезно даже не смотря на бильд!
Спасибо за такой подробный урок!
@RomNero
Жыл бұрын
Всегда пожалуйста. Рад помочь.
Хороший урок. Спасибо!
Как всегда чётко, портяно, последовательно!
@RomNero
Жыл бұрын
Спасибо большое 😉👍 мега приятно
Мега классный туториал. Удачи автору!
@RomNero
Жыл бұрын
Спасибо👍
Мужик, ты просто лучший!
просто супер, все ясно и подробно
@RomNero
Жыл бұрын
Спасибо за отзыв😊👍🏻
Спасибо Вам Очень интересно
Топовый видос. Сам изучаю Jenkins, но про gitlab было интересно
@RomNero
2 жыл бұрын
Спвсибо. Jenkins классный и мощный инструмент.
Отличный урок!
Большое спасибо. спасибо за ваш труд. Очень полезный курс.
@RomNero
23 күн бұрын
Спасибо за отзыв 👍
огромное спасибо за труд! круто изложил
@RomNero
2 жыл бұрын
Спасибо. Возможно только примеры не очень корректно подобрал. Но цель была показать как работает gitlab CI.
Спасибо большое. Очень интересно. Мне очень помогло
Топовый урок, спасибо!
@RomNero
2 жыл бұрын
Спасибо за отзыв))
Спасибо большое за видео!
spasibo, kak wsegda wsio kruto :)
Супер, все сделал по вашему и собрал полностью лабу
@RomNero
4 ай бұрын
Отлично 👍
Отличный урок, особенно на фоне отсутствия иных на русском языке) Огромное спасибо, теперь есть представление о всем процессе
@RomNero
2 жыл бұрын
Спасибо. Рад помочь
Спасмбо огромное! Смотрю твои видео в режиме нон-стоп, так как готовлюсь стать девопсом))
@RomNero
6 ай бұрын
Спасибо за отзыв. Успехов в этом не лёгком пути к devops😉
Блин спасибо друг капец помог разобраться без воды
@RomNero
Жыл бұрын
Всегда пожалуйста. Рад помочь))
спасибо за видео, без воды, с разбором ошибок, единственное хорошее на рускоязычном ютубе про ci в gitlab
@RomNero
11 ай бұрын
Спасибо. Очень приятно 👍
Красавчик. Побольше бы примеров для ymlов Переменные, экранирование, примеры использования вот это все. А так да, низкий поклон. В кои то веки не бросил разбираться и теперь буду использовать.
@RomNero
10 ай бұрын
Спасибо за позитивный отзыв. Хочу ещё сделать несколько видео по gitlab. Нужно только найти время🙂
Пожалуй лучшее видео по обучению gitlab
@RomNero
Жыл бұрын
Спасибо. Ещё в планах есть видео по gitlab. Вышли новые версии и добавилось несколько функций
@evgvac
Жыл бұрын
@@RomNeroЭто Вам спасибо! Docker изучил по Вашим видео, теперь использую его в работе.
@RomNero
Жыл бұрын
Очень приятно слышать, что мои видео помогли Вам👍
Спасибо за видео, удалось понять основы CI/CD и научиться писать простенькие пайнплайны, только я за место трех виртуалок поднял две, на втором ранере сделал теги test и stage, дабы сэкономить себе оперативную память :)
@RomNero
5 ай бұрын
Отлично. Поздравляю с первыми шагами в CI 👍
Спс, буквально из-за твоего видео за две недели написал CI CD для PG Pro Ent: установка, настройка Data, изменение conf файлов, передачу бекапов в докер и еще куча всего))) Передал бекапы программистам, теперь заявки по базам для дев ушли с отдела))) Теперь Swarm изучаю
@RomNero
Жыл бұрын
Спасибо за отзыв. Приятно слышать, что мои видео помогли. Я бы оставил swarm, а время лучше инвестировать в K8s
@chuckchuck1090
Жыл бұрын
@@RomNero да проблема что нет годных гайдов по нем, а отзывы такие, что прод на нем будешь запускать долго, а swarm это почти сразу.
@RomNero
Жыл бұрын
Согласен. Гайдов конкретных мало. Нужно искать постоянно решения проблем. Но swarm никто уже не использует. Всё же лучше попытаться изучить kubernetes. По нему хочу делать видео, но оно не скоро будет.
Супер видос! Спасибо
@RomNero
11 ай бұрын
Всегда пожалуйста😉
Спасибо, очень круто! Очень! ))
@RomNero
Жыл бұрын
Спасибо 👍
Супер! Спасибо
Спасибо за видео. Плюсую за gitlab container registry. Пошаговый рецепт был бы очень кстати.
@RomNero
2 жыл бұрын
Спасибо. Ещё хочу сделать docker in docker Pipeline.
Спасибо за видео. Реализовал у себя такую схему: есть локальный гитлаб, есть два сервера. Поставил на оба сервера shell-runner и ansible. Раннеры подключил к гиту и создал репозиторий с плейбуками ansible. Gitlab-runner запускает команду ansible-pull который тянет с гита нужную конфигурацию и применяет. На выходе получаю следующее: со своего рабочего места в IDE правлю код ансибла, делаю коммит и пуш в гитлаб - изменения сразу же применяются на обоих серверах. По-моему достаточно удобно.
@RomNero
2 жыл бұрын
Круто. Спасибо!!! Очень чётко все описал. Побольше бы таких коментов ;) И отдельное спасибо за ansible-pull 👍🏻
@123sultans
2 жыл бұрын
можешь скинуть, playbook и gitlab ci файл?
@network_sw
2 жыл бұрын
@@123sultans ютуб удаляет ссылки
@cranebird1467
2 жыл бұрын
если у вас деплоу происходит сразу после изменения кода то так не должно быть, нужны сначала тесты и после них удачи деплой в прод.
@network_sw
2 жыл бұрын
@@cranebird1467 Это когда ты работаешь в крупной конторе и пишешь совместный код. А для меня это просто замена того, что я и так сделал бы сейчас, зайдя по ssh, т.к я не кодер а админ. Плюс это какой-никакой бекап конфига. Я знаю, что если я разверну новый сервер и подключу к нему этот конфиг, то сервер сам настроит себя до требуемого состояния. На это уходит много времени при первоначальной конфигурации, но потом это окупается.
Спасибо! Интересно еще как работает мониторинг в гитлаб.
Спасибо, огромное!
@RomNero
Жыл бұрын
Рад помочь👍🏻
СПАСИБО!!!
Супер все понятно! есть и простые примеры и посложнее. Спасибо!
@RomNero
3 ай бұрын
Спасибо за полезный отзыв👍
Спасибо чувак )))
огонь!
@RomNero
Жыл бұрын
Спасибо
Интересно послушать про гитлаб ригистри, как образы можно передавать между стейджами и вообще про докер ранер, там же проблема использовать докер образы, потому что получается docker-in-docker. В общем я бы про работу с образами в гитлабе послушал )))
@RomNero
2 жыл бұрын
Спасибо. Видео будет о docker CI и docker in docker.
@erics8362
2 жыл бұрын
Используем dind для построения образов в Jenkins - проблем не было. Ну и есть kaniko как альтернатива dind
@user-tt8ym8tr6l
2 жыл бұрын
@@erics8362 спасибо, почитаю
спасибо
Благодарю, отличный труд! От себя добавлю, удобно иметь инструкцию сборки в репозитории. Настройка ос и сборка с++ проектов годичной давности без conan кошмар, так и не вспомнишь где и какие взять зависимости.
@RomNero
2 жыл бұрын
Спасибо за отзыв))
Как выполнить команду на всех раннерах с общим тегом? Получается сейчас если указать тег например shell, то гитлаб выбирает только один сервер рандомно с тегом shell и делает на нем джоб. А как на всех заставить?
отличное видео! просто шикарное! а планируется ли аналогичное,но по работе именно с контейнерами? чтоб собирался контейнер по скриптам, сохранялся в репозитории гитлаба и заливался уже измененный по всем нужным стадиям?
@RomNero
Жыл бұрын
Спасибо за отзыв. Спасибо за идею👍 Подобное видео сделаю в теме по Devops примерам.
Познавательно, спасибо! Не подскажешь планируется ли видео о запуске GitLab вместе с Ansible через Molecule ? Так называемая Infrastructure As Code. Было бы очень полезно
@RomNero
Жыл бұрын
Спасибо за отзыв. Molecule это же для теста плейбуков. А по IaaS буду делать видео.
@antonkhokhlov7975
Жыл бұрын
@@RomNero да, точно, спасибо большое
жестко
@RomNero
2 жыл бұрын
В каком плане?
Здравствуйте, очень помогает ваша инструкция в работе, спасибо. Только можно уточнение, что значит на клиенте на 24:45, это какой то другой сервер или что извините?
@RomNero
Жыл бұрын
Спасибо за отзыв. В данном случае (в видео) клиенты - это были серверы, на которых работали gitlab-runner. И на эти же клиенты производился деплоймент.
Чувак, крутой урок. Не понял одну вещь - почемы мы артефакты сохраняем на машине gitlab, а потом обращаемся к ним с машины test. Или они шарятся в рамках пайплайна и это как подмонтированный volume, который доступен на любом из stage пайплайна? P.S. попробуй слепую печать подтянуть, у меня тоже раньше было много опечаток.
@RomNero
Жыл бұрын
Спвсибо за отзыв. Артефакты доступны внутри Pipeline. Они хранятся на gitlab определённое время. Этот timeout так же можно выставить.
Спасибо за урок! А что за клиент для SSH с табами?
@RomNero
2 жыл бұрын
Это MobaXTerm kzread.info/dash/bejne/pnqKqbWYdNOTl9Y.html
Огромное спасибо за проделанную Вами работу. Видео смотрятся легко и без напряга. При регистрации runner правда у меня возникла ошибка: " x509: certificate relies on legacy Common Name field, use SANs instead". Победить так и не смог, не силен в работе с сертификатами. ОС Centos 7, openssl version 1.0.2.
@RomNero
2 жыл бұрын
Спасибо за отзыв. С сертификаты постоянно какие-то проблему будут возникать, если использовать не официальные или хотя бы letsencrypt
@erzhana8708
2 жыл бұрын
решил? такая же проблема
@user-ze8si2co2f
2 жыл бұрын
@@erzhana8708 проверь версию openssl
@erzhana8708
2 жыл бұрын
@@user-ze8si2co2f 1.1.1f
@AlexanderAnanko
2 жыл бұрын
@@RomNero, спасибо за подобный цикл. У меня возникла такая же проблема как и ТС ветки. Подскажите куда копать, т.к. в гугле решения найти не удалось? У меня ВМ на которой развернул ubuntu. На ней по вашему видео поднял Gitlab. Подключить gitlab-runner в докере на этой же ВМ не удается (вы в видео показали только решение проблемы с сертификатом на gitlab-runner shell). P.S. Белый адрес есть, но он динамический. Решил проблему пробросом портов через VPN-туннель с купленного VPS, но сертификат letsencript получить не удалось из-за ошибки таймаута, хотя времени прошло достаточно (более 72 часов) для обновления dns-записей (и сервер доступен из других точек мира по http и https).
👍
Здраствуйте, здесь вы использовали самоподписанный сертификат да ? , потому что вы не создали запрос для подписывание сертификата
@RomNero
Жыл бұрын
Да, здесь использовался самоподписанный сертификат. Но лучше сделать нормальный (например, Let'sEncrypt)
на 14:03 "также есть дополнительные два сервера..." Откуда они взялись? Как нам их локально развернуть?
Добрый день, а где найти ссылку если ее у меня нет в Project runners?
Спасибо все круто, я не поня одно, как происходит деплой на сервере staging, где вы указываете чтобы деплоит на 10.10.10.127? Заранее блогадарю.
@RomNero
4 ай бұрын
Все происходит по тегам от gitlab runner.
@user-zg1ln2lh7m
4 ай бұрын
спасибо понял@@RomNero
Нашёл на ютубе сначала курс какой-то из университета, много воды лишнего... Иии честно опять вы меня спасли :)) В первые ставил Gitlab, благодаря вам быстрее разобрался. Спасибо вам за качественный контент! У меня такой вопрос, смотрите допустим у нас есть общий runner, если 2 человека в команде одновременно пушат разные проекты, то это дело будет два Pipeline выполнять и не будут конфликта? Я просто создал по способу через докер и не создавал общий runner. От CI \ CD мне важно, чтобы он прогнал unit-тесты написанные. И вопрос по docker'у, допустим у меня 2 микросервиса они все изолированы в docker , мне стоит под базу данных \ nginx отдельный докер и всё? Или есть вариант по лучше? База данных у меня на localhost и в будущим если нужен будет 2 сервер я хотел бы SSH туннелировать.
@RomNero
8 ай бұрын
Спасибо за отзыв. По runner: можно использовать 1 runner, но у 2го пользователя должны быть права на проект. По DB: можно использовать как контейнер. Или если планируется использовать БД для многих ресурсов, то можно поставить на отдельную машину или ещё лучше сделать центральный кластер. Вот пример: kzread.info/dash/bejne/oGx5yNyTm7OndMo.htmlsi=sFkGQAHBNvqoKj9g
@sentix1288
8 ай бұрын
@@RomNero Понял, а то есть я могу например взять в докер и поместить туда базу данных, а при добавление микросервиса, когда я упаковывать буду то просто пропишу в конфиге данные от бд?
@RomNero
8 ай бұрын
В основном верно. Смотря какие приложения и какие цели стоят. И стоит обращать внимание в какой сети будут находится отдельные контейнеры.
@sentix1288
8 ай бұрын
@@RomNero Спасибо, понял.
Спасибо большое. Очень полезно. Правда так и не смог подключить runner в docker'е на хосте с gitlab, ошибка с сертификатом.
@RomNero
Жыл бұрын
Спасибо за отзыв. Да, это проблема у многих, кто использует не официальные сертификаты. Хотя для обучения можно импортировать любые сертификаты. И все будет работать. docs.gitlab.com/runner/configuration/tls-self-signed.html
Вы проводите персональные уроки по DEVOPS?
@RomNero
4 ай бұрын
Пока не думал обэтом😄
25:17 Делал всё по шагам, у меня нет gitlab-runner, мы же контейнер запускаем(по крайней мере до этого момента). Что произошло я не понял, gitlab-runner в одной вкладке у автора всё норм, вернулся на старую вкладку с установкой докером у него тоже всё норм. У меня при старте контейнера как ругался на сертификат так и ругается
Вопрос, когда ты переходишь на сервер (gitlab test и staging) и пишешь там команды, куда ты переходиш где это... у меня гитлаб на vm azure где мне писать эти команды ?
@RomNero
2 жыл бұрын
По ssh можно подключится к серверам даже в azure
22:45 а где команда-то из видео openssl?
Надо прям через root?
Почему этап Проверка качества кода идёт до сборки?
Добрый день! Хочу запускать скрип на хосте, такаая ошибка, а так npm установлен через root. pipline выполняется через user gitlab-runner. как запускать на рууте в определенном папке, npm install $ ssh root@10.11.12.13 'bash -s' bash: line 3: npm: command not found bash: line 5: npm: command not found /usr/bin/env: ‘node’: No such file or directory Заранее блогадарю.
Привет) Установил первый ранер в докере как у тебя, с теми же командам в gitlab-ci.yml - все хорошо, также работает и выполняется. Но добавил другую команду('./mvnw package'), сборки архива java, и stage падает с ошибкой '/bin/bash: Permission denied' как у тебя во втором случае. Пытался выдать права внутри докера, но почти любая команда внутри контейнера не выполняется(даже статус ранера не могу узнать), и не думаю, что менять что-то внутри докера это вообще хорошо, я хотел хоть как-то заставить ранер выполнить джобу. Как можно разрешить эту проблему? з.ы. Докер с контейнером ранера стоит на винде, не уверен, что это важно, но все же.
@RomNero
Жыл бұрын
Привет. Я бы посмотрел именно скрипт mvnw. Возможно, он пытается использовать какие-то системные ресурсы. Попробуй запустить скрипт так: sh mvnw. Проверь права на файлы в проекте.
Пожалуйста сделайте отдельный выпуск Docker для чайников, вы тут пихаете докер, хотя мы понятия не имеем что у него под капотом и для чего он нужен, ну или хотя бы оставьте ссылку под этот комментарии хороший ресурс для его изучения на русском, заранее благодарен
@RomNero
2 жыл бұрын
Спасибо. О докере будет видео. Но немного позже.
нужна помощь, застрял на том, что не могу найти URL. Registration token- есть, URL не могу найти
вот бы так подробно но для SpringBoot и запуск dev в docker....
Всё это хорошо, легко и просто, но в тепличных условиях. У меня есть машинка, но докер туда никак. И вот кагбы усьо... При деплое появляются "особенности", начинаешь изучать Ansible и выкручиваться как только можно :) + бюрократия добавляет веселия... А вообще да, CI/CD - хорошее дело.
@RomNero
2 жыл бұрын
Полностью согласен. Отличные условия там, где нет ограничений, от этого страдает и безопасность. В Pipeline просто закинуть команды для ansible. И все так же можно автоматизировать))
@MuKeXa
2 жыл бұрын
@@RomNero Но это еще один инструмент, хотя и полезный :) Я наверное и на канал этот попал, потому что искал инфо по ansible ))) P.S. Я то уже нормально подразобрался, но по AWX как-то мало информации(ну или я плохо искал). Особенно тонкостей типа привязки credential Ansible Galaxy к организации. Иначе requirement.yaml не поедет. И оно зараза не в ошибку падает, а пишет msg в логе джобы ))) Еще были моменты, но не такие мучительные как этот ) Успехов!
Я новенький, подскажите это линукс, сендос или что стоит на серверах?
@RomNero
3 ай бұрын
Для видео использую Ubuntu
Очень наглядный урок, только не очень понятно что есть gitlab server, его предоставляет gitlab? Как к нему подключится?
@RomNero
10 ай бұрын
Посмотри начальные видео. Это 3-е видео из серии.
У вас есть test и staging как вы их создали?
@wordofworld6874
Жыл бұрын
Здесь просто показали что есть у вас сервера kzread.info/dash/bejne/nHV9ysqOfMadiaQ.html а как их создать?
@RomNero
Жыл бұрын
У меня сервера созданы в proxmox. Если есть трудности с созданием серверов. То лучше начать изучать изначально эти вещи, а потом уже переходить к cicd
@wordofworld6874
Жыл бұрын
@@RomNero Не понял что за сервера. Можете ссылочку кинуть? ) Где почитать как сервера сделать?
Добрый день. А можно ссылку на проект?)
@RomNero
Жыл бұрын
Приветствую. На какой проект? Это использовался gitlab в локальной сети
CD = Continuous Delivery и Continues Deployment, насколько я представляю. А не Continues Development. Не так ли?
@RomNero
Жыл бұрын
В сочетании CI/CD - именно Delivery и Deployment, как доставка и развёртывание.
ссылка на команды в видео уже не работает?
@RomNero
Жыл бұрын
Спасибо. Ссылку исправил.
Можно же показать где что сохраняется
а как сейчас бегуна зарегать?Ошибку выдает при реге
беда с этими сертификатами для локальной сети, самоподписные не работают в браузере, отсюда и раннер не зарегистрируешь
Всё классно, только не понятно зачем такая дичь на стейж и прод без докера? Как минимум с привязкой к хост системе начнутся проблемы с версиями того же питона и енвы не помогут (что собственно и указано в доках). Три шага назад получается. По идее после второго шага нужно слить конты в докер режистри, а на продах уже готовый конт вытягивать. При этом в енвах на проде DEVELOP=False. Второй момент. Проще готовый скрипт запускать, чем формировать его на лету. Получается код не самодостаточный и уже без гитлаба не работает. Для группы серверов достаточно одного ранера с ансиблом. Но я думаю это здесь чисто для примера. Спасибо за видео.
@RomNero
Жыл бұрын
Спасибо за комментарий. Согласен с Вами. Это чисто что бы показать как работает CI и что бы без сильных наворотов. В прод так делать не стоит 😄
А где yaml для ci/cd? Набирать с экрана?(
@RomNero
Ай бұрын
Ой, нужно закинуть. Спасибо. Я не заметил.
а как зайти в админ панель? а то у меня нету такой вкладки
@RomNero
Жыл бұрын
Должны быть права админа. Справа вверху есть меню. В меню снизу будет "Admin"
CD это continuous delivery/deployment
Привет! Смотрю твои видео в 2023 и не перестаю удивляться)! Только вот ошибка при регистрации ранера на сервере так и осталась "x509: certificate signed by unknown authority" Сервер и ранер с докером запускаю на локальной машине без домена. Не могу понять где не прав...
@RomNero
Жыл бұрын
Спасибо. Проблема с сертификатом. Используется самосозданный сертификат. Решается импортом CA сертификата в раннер.
@daadshaman2095
Жыл бұрын
@@RomNero спасибо, сейчас попробую посмотреть где это и как) А в ранер в etc/ssl/ ???
@ibragimProtopopov
Жыл бұрын
@@daadshaman2095 Решил проблему?
@daadshaman2095
Жыл бұрын
@@ibragimProtopopov нет, не решил...
Не знаешь, где взять "authentication token" вместо "registration token", которую скоро уберут? Никак не пойму, где взять этот токен 🤷♂
А что значит обойти проблему с сертификатом? А как в реальном проекте происходит, чтобы не обходить, а сделать как надо?))
@RomNero
Жыл бұрын
Проблема, когда используется самоподписанный сертификат. В этом случае клиенты не доверяют данному сертификату. Но CA можно внести в систему клиентов. И тогда всё работает. Так делают так же в прод. Второй вариант - использовать официальные сертификаты. Например, от Let'sEncrypt.
@ibragimProtopopov
Жыл бұрын
@@RomNero спасибо за ответ) x509: certificate relies on legacy Common Name field, use SANs instead Вот такая ошибка у меня. Делаю все как на видео
@ibragimProtopopov
Жыл бұрын
сейчас как-то иначе добавлять runner нужно, может из-за этого
Спасибо за урок, есть проблема одна, не знаю как решить. Установил докер, скачал ранер по инструкции на локальной машине. При регистрации выдает ошибку. И комент, уже который раз, удаляют!
@user-ks3om2th1o
2 жыл бұрын
если делать как по инструкции то он пытается достучаться до гитлаба через интернет, добавил "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
2 жыл бұрын
Как я в видео и говорил, что без нормального сертификата все нужно делать обходными путями.
@user-ks3om2th1o
2 жыл бұрын
В общем забил на этот 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-ks3om2th1o ты крутой! Как нашел решение ко второму вопросу?
do this courses in english so that more people can take benefit from it
@RomNero
8 ай бұрын
Thank you. I will make a separate channel for tutorials in English