Спасибо за видео. Реализовал у себя такую схему: есть локальный гитлаб, есть два сервера. Поставил на оба сервера shell-runner и ansible. Раннеры подключил к гиту и создал репозиторий с плейбуками ansible. Gitlab-runner запускает команду ansible-pull который тянет с гита нужную конфигурацию и применяет. На выходе получаю следующее: со своего рабочего места в IDE правлю код ансибла, делаю коммит и пуш в гитлаб - изменения сразу же применяются на обоих серверах. По-моему достаточно удобно.
@@cranebird1467 Это когда ты работаешь в крупной конторе и пишешь совместный код. А для меня это просто замена того, что я и так сделал бы сейчас, зайдя по ssh, т.к я не кодер а админ. Плюс это какой-никакой бекап конфига. Я знаю, что если я разверну новый сервер и подключу к нему этот конфиг, то сервер сам настроит себя до требуемого состояния. На это уходит много времени при первоначальной конфигурации, но потом это окупается.
Спс, буквально из-за твоего видео за две недели написал CI CD для PG Pro Ent: установка, настройка Data, изменение conf файлов, передачу бекапов в докер и еще куча всего))) Передал бекапы программистам, теперь заявки по базам для дев ушли с отдела))) Теперь Swarm изучаю
Согласен. Гайдов конкретных мало. Нужно искать постоянно решения проблем. Но swarm никто уже не использует. Всё же лучше попытаться изучить kubernetes. По нему хочу делать видео, но оно не скоро будет.
Красавчик. Побольше бы примеров для ymlов Переменные, экранирование, примеры использования вот это все. А так да, низкий поклон. В кои то веки не бросил разбираться и теперь буду использовать.
Спасибо за видео, удалось понять основы CI/CD и научиться писать простенькие пайнплайны, только я за место трех виртуалок поднял две, на втором ранере сделал теги test и stage, дабы сэкономить себе оперативную память :)
Интересно послушать про гитлаб ригистри, как образы можно передавать между стейджами и вообще про докер ранер, там же проблема использовать докер образы, потому что получается docker-in-docker. В общем я бы про работу с образами в гитлабе послушал )))
Огромное спасибо за проделанную Вами работу. Видео смотрятся легко и без напряга. При регистрации runner правда у меня возникла ошибка: " x509: certificate relies on legacy Common Name field, use SANs instead". Победить так и не смог, не силен в работе с сертификатами. ОС Centos 7, openssl version 1.0.2.
@@RomNero, спасибо за подобный цикл. У меня возникла такая же проблема как и ТС ветки. Подскажите куда копать, т.к. в гугле решения найти не удалось? У меня ВМ на которой развернул ubuntu. На ней по вашему видео поднял Gitlab. Подключить gitlab-runner в докере на этой же ВМ не удается (вы в видео показали только решение проблемы с сертификатом на gitlab-runner shell). P.S. Белый адрес есть, но он динамический. Решил проблему пробросом портов через VPN-туннель с купленного VPS, но сертификат letsencript получить не удалось из-за ошибки таймаута, хотя времени прошло достаточно (более 72 часов) для обновления dns-записей (и сервер доступен из других точек мира по http и https).
Благодарю, отличный труд! От себя добавлю, удобно иметь инструкцию сборки в репозитории. Настройка ос и сборка с++ проектов годичной давности без conan кошмар, так и не вспомнишь где и какие взять зависимости.
25:17 Делал всё по шагам, у меня нет gitlab-runner, мы же контейнер запускаем(по крайней мере до этого момента). Что произошло я не понял, gitlab-runner в одной вкладке у автора всё норм, вернулся на старую вкладку с установкой докером у него тоже всё норм. У меня при старте контейнера как ругался на сертификат так и ругается
я правильно понял что ci/cd это тот же Ansible только автоматизированный (сам проверяет изменился ли код и запускает его), а в остальном 1 в 1. возьми там установи туда. только более замороченный в установке ранеров
Спасибо за отзыв. Да, это проблема у многих, кто использует не официальные сертификаты. Хотя для обучения можно импортировать любые сертификаты. И все будет работать. docs.gitlab.com/runner/configuration/tls-self-signed.html
Чувак, крутой урок. Не понял одну вещь - почемы мы артефакты сохраняем на машине gitlab, а потом обращаемся к ним с машины test. Или они шарятся в рамках пайплайна и это как подмонтированный volume, который доступен на любом из stage пайплайна? P.S. попробуй слепую печать подтянуть, у меня тоже раньше было много опечаток.
Всё это хорошо, легко и просто, но в тепличных условиях. У меня есть машинка, но докер туда никак. И вот кагбы усьо... При деплое появляются "особенности", начинаешь изучать Ansible и выкручиваться как только можно :) + бюрократия добавляет веселия... А вообще да, CI/CD - хорошее дело.
Полностью согласен. Отличные условия там, где нет ограничений, от этого страдает и безопасность. В Pipeline просто закинуть команды для ansible. И все так же можно автоматизировать))
@@RomNero Но это еще один инструмент, хотя и полезный :) Я наверное и на канал этот попал, потому что искал инфо по ansible ))) P.S. Я то уже нормально подразобрался, но по AWX как-то мало информации(ну или я плохо искал). Особенно тонкостей типа привязки credential Ansible Galaxy к организации. Иначе requirement.yaml не поедет. И оно зараза не в ошибку падает, а пишет msg в логе джобы ))) Еще были моменты, но не такие мучительные как этот ) Успехов!
Здравствуйте, очень помогает ваша инструкция в работе, спасибо. Только можно уточнение, что значит на клиенте на 24:45, это какой то другой сервер или что извините?
Спасибо за отзыв. В данном случае (в видео) клиенты - это были серверы, на которых работали gitlab-runner. И на эти же клиенты производился деплоймент.
Познавательно, спасибо! Не подскажешь планируется ли видео о запуске GitLab вместе с Ansible через Molecule ? Так называемая Infrastructure As Code. Было бы очень полезно
отличное видео! просто шикарное! а планируется ли аналогичное,но по работе именно с контейнерами? чтоб собирался контейнер по скриптам, сохранялся в репозитории гитлаба и заливался уже измененный по всем нужным стадиям?
Нужно ли клонировать репозиторий на локальную машину после создания .gitlab-ci.yml? У меня показывает ошибку No such file or directory когда я пытаюсь запустить файл jmeter через SSH, как можно это исправить?
Пожалуйста сделайте отдельный выпуск Docker для чайников, вы тут пихаете докер, хотя мы понятия не имеем что у него под капотом и для чего он нужен, ну или хотя бы оставьте ссылку под этот комментарии хороший ресурс для его изучения на русском, заранее благодарен
Добрый день! Хочу запускать скрип на хосте, такаая ошибка, а так 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 Заранее блогадарю.
Как выполнить команду на всех раннерах с общим тегом? Получается сейчас если указать тег например shell, то гитлаб выбирает только один сервер рандомно с тегом shell и делает на нем джоб. А как на всех заставить?
Нашёл на ютубе сначала курс какой-то из университета, много воды лишнего... Иии честно опять вы меня спасли :)) В первые ставил Gitlab, благодаря вам быстрее разобрался. Спасибо вам за качественный контент! У меня такой вопрос, смотрите допустим у нас есть общий runner, если 2 человека в команде одновременно пушат разные проекты, то это дело будет два Pipeline выполнять и не будут конфликта? Я просто создал по способу через докер и не создавал общий runner. От CI \ CD мне важно, чтобы он прогнал unit-тесты написанные. И вопрос по docker'у, допустим у меня 2 микросервиса они все изолированы в docker , мне стоит под базу данных \ nginx отдельный докер и всё? Или есть вариант по лучше? База данных у меня на localhost и в будущим если нужен будет 2 сервер я хотел бы SSH туннелировать.
Спасибо за отзыв. По runner: можно использовать 1 runner, но у 2го пользователя должны быть права на проект. По DB: можно использовать как контейнер. Или если планируется использовать БД для многих ресурсов, то можно поставить на отдельную машину или ещё лучше сделать центральный кластер. Вот пример: th-cam.com/video/n8EfzZkPADg/w-d-xo.htmlsi=sFkGQAHBNvqoKj9g
@@RomNero Понял, а то есть я могу например взять в докер и поместить туда базу данных, а при добавление микросервиса, когда я упаковывать буду то просто пропишу в конфиге данные от бд?
Вопрос, когда ты переходишь на сервер (gitlab test и staging) и пишешь там команды, куда ты переходиш где это... у меня гитлаб на vm azure где мне писать эти команды ?
Всё классно, только не понятно зачем такая дичь на стейж и прод без докера? Как минимум с привязкой к хост системе начнутся проблемы с версиями того же питона и енвы не помогут (что собственно и указано в доках). Три шага назад получается. По идее после второго шага нужно слить конты в докер режистри, а на продах уже готовый конт вытягивать. При этом в енвах на проде DEVELOP=False. Второй момент. Проще готовый скрипт запускать, чем формировать его на лету. Получается код не самодостаточный и уже без гитлаба не работает. Для группы серверов достаточно одного ранера с ансиблом. Но я думаю это здесь чисто для примера. Спасибо за видео.
Привет! Смотрю твои видео в 2023 и не перестаю удивляться)! Только вот ошибка при регистрации ранера на сервере так и осталась "x509: certificate signed by unknown authority" Сервер и ранер с докером запускаю на локальной машине без домена. Не могу понять где не прав...
Очень хороший урок. Для начинающих очень подходит.
Автору плюс в карму за труд.
Спасибо😉 больше получился не как урок, а пример использования.
По Gitlab CI ещё сделаю полноценное видео
Классный урок, спасибо! "билЬд" немного резал ухо, немецкий учил наверное)))
Спвсибо. Да, я в Германии живу.
Подсказка тебе была когда он указывал адрес runner .de. JA JA NATURLICH DAST IS BILD MEIN SCHULLER))
Спасибо за видео. Реализовал у себя такую схему: есть локальный гитлаб, есть два сервера. Поставил на оба сервера shell-runner и ansible. Раннеры подключил к гиту и создал репозиторий с плейбуками ansible. Gitlab-runner запускает команду ansible-pull который тянет с гита нужную конфигурацию и применяет. На выходе получаю следующее: со своего рабочего места в IDE правлю код ансибла, делаю коммит и пуш в гитлаб - изменения сразу же применяются на обоих серверах. По-моему достаточно удобно.
Круто. Спасибо!!! Очень чётко все описал. Побольше бы таких коментов ;)
И отдельное спасибо за ansible-pull 👍🏻
можешь скинуть, playbook и gitlab ci файл?
@@123sultans ютуб удаляет ссылки
если у вас деплоу происходит сразу после изменения кода то так не должно быть, нужны сначала тесты и после них удачи деплой в прод.
@@cranebird1467 Это когда ты работаешь в крупной конторе и пишешь совместный код. А для меня это просто замена того, что я и так сделал бы сейчас, зайдя по ssh, т.к я не кодер а админ. Плюс это какой-никакой бекап конфига. Я знаю, что если я разверну новый сервер и подключу к нему этот конфиг, то сервер сам настроит себя до требуемого состояния. На это уходит много времени при первоначальной конфигурации, но потом это окупается.
Отличный урок, особенно на фоне отсутствия иных на русском языке)
Огромное спасибо, теперь есть представление о всем процессе
Спасибо. Рад помочь
Благодарю автора за время и материал!) Всё отлично работает, после нескольких дней мучений. Оставлю это здесь на случай аналогичных проблем!
Спасибо за позитивный отзыв 👍😀
Это очень крутой урок! Огромное спасибо!
Благодарен за грамотные обзоры. Спасибо за труды и старания!
Спасибо))
Спасибо за уроки, темпы что надо с разъяснениями.
Спасибо за отзыв. Значит буду продолжать в таком же стиле 👍🏻😊
спасибо тебе милый человек, ты открыл мне глаза на гитлаб си
Благодарю! Все очень понятно! Получилось разобраться в CI/CD и пайплайнах. Все очень подробно и сразу понятно!
Спасибо за отзыв 👍🏻 двигаемся в таком же нарравлении
Просмотрел и не добавил лайк, вернулся исправился))) Спс за гайды, очень круто. Благодаря этому гайду потом хоть знаешь что гуглить и искать дальше
Спасибо 👍🏻
Большое спасибо! Очень полезный курс
Огромное тебе спасибо за твоё подробное творчество. :)
Спасибо за оценку👍🏻
Спс, буквально из-за твоего видео за две недели написал CI CD для PG Pro Ent: установка, настройка Data, изменение conf файлов, передачу бекапов в докер и еще куча всего))) Передал бекапы программистам, теперь заявки по базам для дев ушли с отдела))) Теперь Swarm изучаю
Спасибо за отзыв. Приятно слышать, что мои видео помогли.
Я бы оставил swarm, а время лучше инвестировать в K8s
@@RomNero да проблема что нет годных гайдов по нем, а отзывы такие, что прод на нем будешь запускать долго, а swarm это почти сразу.
Согласен. Гайдов конкретных мало. Нужно искать постоянно решения проблем. Но swarm никто уже не использует. Всё же лучше попытаться изучить kubernetes.
По нему хочу делать видео, но оно не скоро будет.
спасибо за видео, без воды, с разбором ошибок, единственное хорошее на рускоязычном ютубе про ci в gitlab
Спасибо. Очень приятно 👍
Спасибо тебе за твои труды!
Спасибо за отзыв 👍🏻😊
Спасибо братанчик за старания!💪👍 Благодарим!
Всегда пожалуйста 😉
Большое спасибо. спасибо за ваш труд.
Очень полезный курс.
Спасибо за отзыв 👍
Как всегда чётко, портяно, последовательно!
Спасибо большое 😉👍 мега приятно
урок супер, все четко и без воды
Пожалуй лучшее видео по обучению gitlab
Спасибо. Ещё в планах есть видео по gitlab. Вышли новые версии и добавилось несколько функций
@@RomNeroЭто Вам спасибо! Docker изучил по Вашим видео, теперь использую его в работе.
Очень приятно слышать, что мои видео помогли Вам👍
Красавчик. Побольше бы примеров для ymlов
Переменные, экранирование, примеры использования вот это все.
А так да, низкий поклон. В кои то веки не бросил разбираться и теперь буду использовать.
Спасибо за позитивный отзыв.
Хочу ещё сделать несколько видео по gitlab. Нужно только найти время🙂
Что за гений создавал урок, спасибо!
Спасибо за отзыв 👍
Мужик, ты просто лучший!
просто супер, все ясно и подробно
Спасибо за отзыв😊👍🏻
Спасмбо огромное! Смотрю твои видео в режиме нон-стоп, так как готовлюсь стать девопсом))
Спасибо за отзыв.
Успехов в этом не лёгком пути к devops😉
Отличная работа! Огромное спасибо за материал!
Спасибо за отзыв. Мне очень важно знать, что материал понятно изложен))
Топовый видос. Сам изучаю Jenkins, но про gitlab было интересно
Спвсибо. Jenkins классный и мощный инструмент.
спасибо за подробный урок, круто получилось!
Спасибо за видео, удалось понять основы CI/CD и научиться писать простенькие пайнплайны, только я за место трех виртуалок поднял две, на втором ранере сделал теги test и stage, дабы сэкономить себе оперативную память :)
Отлично. Поздравляю с первыми шагами в CI 👍
Блин спасибо друг капец помог разобраться без воды
Всегда пожалуйста. Рад помочь))
Спасибо за такой подробный урок!
Всегда пожалуйста. Рад помочь.
Спасибо Вам
Очень интересно
Очень полезно даже не смотря на бильд!
Супер, все сделал по вашему и собрал полностью лабу
Отлично 👍
Спасибо за видео.
Плюсую за gitlab container registry.
Пошаговый рецепт был бы очень кстати.
Спасибо. Ещё хочу сделать docker in docker Pipeline.
Огромное спасибо за видео!
Спасибо! Интересно еще как работает мониторинг в гитлаб.
spasibo, kak wsegda wsio kruto :)
Мега классный туториал. Удачи автору!
Спасибо👍
огромное спасибо за труд! круто изложил
Спасибо. Возможно только примеры не очень корректно подобрал. Но цель была показать как работает gitlab CI.
Прекрасное видео! Спасибо!
Спасибо большое за видео!
Отличный урок!
Топовый урок, спасибо!
Спасибо за отзыв))
Хороший урок. Спасибо!
Супер все понятно! есть и простые примеры и посложнее. Спасибо!
Спасибо за полезный отзыв👍
Супер! Спасибо
Интересно послушать про гитлаб ригистри, как образы можно передавать между стейджами и вообще про докер ранер, там же проблема использовать докер образы, потому что получается docker-in-docker. В общем я бы про работу с образами в гитлабе послушал )))
Спасибо. Видео будет о docker CI и docker in docker.
Используем dind для построения образов в Jenkins - проблем не было. Ну и есть kaniko как альтернатива dind
@@erics8362 спасибо, почитаю
Спасибо большое. Очень интересно. Мне очень помогло
Супер видос! Спасибо
Всегда пожалуйста😉
Спасибо, огромное!
Рад помочь👍🏻
Спасибо, очень круто! Очень! ))
Спасибо 👍
огонь!
Спасибо
Огромное спасибо за проделанную Вами работу. Видео смотрятся легко и без напряга. При регистрации runner правда у меня возникла ошибка: " x509: certificate relies on legacy Common Name field, use SANs instead". Победить так и не смог, не силен в работе с сертификатами. ОС Centos 7, openssl version 1.0.2.
Спасибо за отзыв. С сертификаты постоянно какие-то проблему будут возникать, если использовать не официальные или хотя бы letsencrypt
решил? такая же проблема
@@erzhana8708 проверь версию openssl
@@АндрейУльянов-я6ю 1.1.1f
@@RomNero, спасибо за подобный цикл.
У меня возникла такая же проблема как и ТС ветки. Подскажите куда копать, т.к. в гугле решения найти не удалось? У меня ВМ на которой развернул ubuntu. На ней по вашему видео поднял Gitlab. Подключить gitlab-runner в докере на этой же ВМ не удается (вы в видео показали только решение проблемы с сертификатом на gitlab-runner shell).
P.S. Белый адрес есть, но он динамический. Решил проблему пробросом портов через VPN-туннель с купленного VPS, но сертификат letsencript получить не удалось из-за ошибки таймаута, хотя времени прошло достаточно (более 72 часов) для обновления dns-записей (и сервер доступен из других точек мира по http и https).
СПАСИБО!!!
Благодарю, отличный труд! От себя добавлю, удобно иметь инструкцию сборки в репозитории. Настройка ос и сборка с++ проектов годичной давности без conan кошмар, так и не вспомнишь где и какие взять зависимости.
Спасибо за отзыв))
25:17 Делал всё по шагам, у меня нет gitlab-runner, мы же контейнер запускаем(по крайней мере до этого момента). Что произошло я не понял, gitlab-runner в одной вкладке у автора всё норм, вернулся на старую вкладку с установкой докером у него тоже всё норм. У меня при старте контейнера как ругался на сертификат так и ругается
я правильно понял что ci/cd это тот же Ansible только автоматизированный (сам проверяет изменился ли код и запускает его), а в остальном 1 в 1. возьми там установи туда. только более замороченный в установке ранеров
Спасибо чувак )))
спасибо
Спасибо большое. Очень полезно. Правда так и не смог подключить runner в docker'е на хосте с gitlab, ошибка с сертификатом.
Спасибо за отзыв.
Да, это проблема у многих, кто использует не официальные сертификаты. Хотя для обучения можно импортировать любые сертификаты. И все будет работать.
docs.gitlab.com/runner/configuration/tls-self-signed.html
Чувак, крутой урок. Не понял одну вещь - почемы мы артефакты сохраняем на машине gitlab, а потом обращаемся к ним с машины test. Или они шарятся в рамках пайплайна и это как подмонтированный volume, который доступен на любом из stage пайплайна?
P.S. попробуй слепую печать подтянуть, у меня тоже раньше было много опечаток.
Спвсибо за отзыв.
Артефакты доступны внутри Pipeline. Они хранятся на gitlab определённое время. Этот timeout так же можно выставить.
Всё это хорошо, легко и просто, но в тепличных условиях.
У меня есть машинка, но докер туда никак. И вот кагбы усьо...
При деплое появляются "особенности", начинаешь изучать Ansible и выкручиваться как только можно :)
+ бюрократия добавляет веселия...
А вообще да, CI/CD - хорошее дело.
Полностью согласен. Отличные условия там, где нет ограничений, от этого страдает и безопасность.
В Pipeline просто закинуть команды для ansible. И все так же можно автоматизировать))
@@RomNero Но это еще один инструмент, хотя и полезный :)
Я наверное и на канал этот попал, потому что искал инфо по ansible )))
P.S. Я то уже нормально подразобрался, но по AWX как-то мало информации(ну или я плохо искал). Особенно тонкостей типа привязки credential Ansible Galaxy к организации. Иначе requirement.yaml не поедет. И оно зараза не в ошибку падает, а пишет msg в логе джобы ))) Еще были моменты, но не такие мучительные как этот )
Успехов!
жестко
В каком плане?
👍
Здравствуйте, очень помогает ваша инструкция в работе, спасибо. Только можно уточнение, что значит на клиенте на 24:45, это какой то другой сервер или что извините?
Спасибо за отзыв.
В данном случае (в видео) клиенты - это были серверы, на которых работали gitlab-runner. И на эти же клиенты производился деплоймент.
Подскажите, на 20.26 минуте появился еще один сервер. Что за он и для чего?
на 14:03 "также есть дополнительные два сервера..."
Откуда они взялись? Как нам их локально развернуть?
Познавательно, спасибо! Не подскажешь планируется ли видео о запуске GitLab вместе с Ansible через Molecule ? Так называемая Infrastructure As Code. Было бы очень полезно
Спасибо за отзыв. Molecule это же для теста плейбуков.
А по IaaS буду делать видео.
@@RomNero да, точно, спасибо большое
CD это continuous delivery/deployment
отличное видео! просто шикарное! а планируется ли аналогичное,но по работе именно с контейнерами? чтоб собирался контейнер по скриптам, сохранялся в репозитории гитлаба и заливался уже измененный по всем нужным стадиям?
Спасибо за отзыв. Спасибо за идею👍
Подобное видео сделаю в теме по Devops примерам.
Вы проводите персональные уроки по DEVOPS?
Пока не думал обэтом😄
Добрый день, а где найти ссылку если ее у меня нет в Project runners?
Нужно ли клонировать репозиторий на локальную машину после создания .gitlab-ci.yml?
У меня показывает ошибку No such file or directory когда я пытаюсь запустить файл jmeter через SSH, как можно это исправить?
Пожалуйста сделайте отдельный выпуск Docker для чайников, вы тут пихаете докер, хотя мы понятия не имеем что у него под капотом и для чего он нужен, ну или хотя бы оставьте ссылку под этот комментарии хороший ресурс для его изучения на русском, заранее благодарен
Спасибо. О докере будет видео. Но немного позже.
нужна помощь, застрял на том, что не могу найти URL. Registration token- есть, URL не могу найти
Добрый день!
Хочу запускать скрип на хосте, такаая ошибка, а так 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
Заранее блогадарю.
вот бы так подробно но для SpringBoot и запуск dev в docker....
Можно же показать где что сохраняется
Почему этап Проверка качества кода идёт до сборки?
Как выполнить команду на всех раннерах с общим тегом? Получается сейчас если указать тег например shell, то гитлаб выбирает только один сервер рандомно с тегом shell и делает на нем джоб. А как на всех заставить?
Очень наглядный урок, только не очень понятно что есть gitlab server, его предоставляет gitlab? Как к нему подключится?
Посмотри начальные видео. Это 3-е видео из серии.
беда с этими сертификатами для локальной сети, самоподписные не работают в браузере, отсюда и раннер не зарегистрируешь
Здраствуйте, здесь вы использовали самоподписанный сертификат да ? , потому что вы не создали запрос для подписывание сертификата
Да, здесь использовался самоподписанный сертификат. Но лучше сделать нормальный (например, Let'sEncrypt)
Нашёл на ютубе сначала курс какой-то из университета, много воды лишнего... Иии честно опять вы меня спасли :)) В первые ставил Gitlab, благодаря вам быстрее разобрался. Спасибо вам за качественный контент!
У меня такой вопрос, смотрите допустим у нас есть общий runner, если 2 человека в команде одновременно пушат разные проекты, то это дело будет два Pipeline выполнять и не будут конфликта? Я просто создал по способу через докер и не создавал общий runner. От CI \ CD мне важно, чтобы он прогнал unit-тесты написанные.
И вопрос по docker'у, допустим у меня 2 микросервиса они все изолированы в docker , мне стоит под базу данных \ nginx отдельный докер и всё? Или есть вариант по лучше?
База данных у меня на localhost и в будущим если нужен будет 2 сервер я хотел бы SSH туннелировать.
Спасибо за отзыв.
По runner: можно использовать 1 runner, но у 2го пользователя должны быть права на проект.
По DB: можно использовать как контейнер. Или если планируется использовать БД для многих ресурсов, то можно поставить на отдельную машину или ещё лучше сделать центральный кластер. Вот пример: th-cam.com/video/n8EfzZkPADg/w-d-xo.htmlsi=sFkGQAHBNvqoKj9g
@@RomNero Понял, а то есть я могу например взять в докер и поместить туда базу данных, а при добавление микросервиса, когда я упаковывать буду то просто пропишу в конфиге данные от бд?
В основном верно. Смотря какие приложения и какие цели стоят. И стоит обращать внимание в какой сети будут находится отдельные контейнеры.
@@RomNero Спасибо, понял.
22:45 а где команда-то из видео openssl?
Спасибо все круто, я не поня одно, как происходит деплой на сервере staging, где вы указываете чтобы деплоит на 10.10.10.127?
Заранее блогадарю.
Все происходит по тегам от gitlab runner.
спасибо понял@@RomNero
CD = Continuous Delivery и Continues Deployment, насколько я представляю. А не Continues Development.
Не так ли?
В сочетании CI/CD - именно Delivery и Deployment, как доставка и развёртывание.
Надо прям через root?
Спасибо за урок! А что за клиент для SSH с табами?
Это MobaXTerm th-cam.com/video/tFVGS_Dp-gs/w-d-xo.html
а как сейчас бегуна зарегать?Ошибку выдает при реге
do this courses in english so that more people can take benefit from it
Thank you. I will make a separate channel for tutorials in English
Вопрос, когда ты переходишь на сервер (gitlab test и staging) и пишешь там команды, куда ты переходиш где это... у меня гитлаб на vm azure где мне писать эти команды ?
По ssh можно подключится к серверам даже в azure
Всё классно, только не понятно зачем такая дичь на стейж и прод без докера? Как минимум с привязкой к хост системе начнутся проблемы с версиями того же питона и енвы не помогут (что собственно и указано в доках). Три шага назад получается. По идее после второго шага нужно слить конты в докер режистри, а на продах уже готовый конт вытягивать. При этом в енвах на проде DEVELOP=False.
Второй момент. Проще готовый скрипт запускать, чем формировать его на лету. Получается код не самодостаточный и уже без гитлаба не работает. Для группы серверов достаточно одного ранера с ансиблом.
Но я думаю это здесь чисто для примера. Спасибо за видео.
Спасибо за комментарий.
Согласен с Вами. Это чисто что бы показать как работает CI и что бы без сильных наворотов. В прод так делать не стоит 😄
Привет! Смотрю твои видео в 2023 и не перестаю удивляться)!
Только вот ошибка при регистрации ранера на сервере так и осталась "x509: certificate signed by unknown authority"
Сервер и ранер с докером запускаю на локальной машине без домена.
Не могу понять где не прав...
Спасибо.
Проблема с сертификатом. Используется самосозданный сертификат. Решается импортом CA сертификата в раннер.
@@RomNero спасибо, сейчас попробую посмотреть где это и как) А в ранер в etc/ssl/ ???
@@daadshaman2095 Решил проблему?
@@ibragimProtopopov нет, не решил...
Я новенький, подскажите это линукс, сендос или что стоит на серверах?
Для видео использую Ubuntu
А где yaml для ci/cd? Набирать с экрана?(
Ой, нужно закинуть. Спасибо. Я не заметил.
ссылка на команды в видео уже не работает?
Спасибо.
Ссылку исправил.
У вас есть test и staging как вы их создали?
Здесь просто показали что есть у вас сервера th-cam.com/video/jAIhhULc7YA/w-d-xo.html а как их создать?
У меня сервера созданы в proxmox.
Если есть трудности с созданием серверов. То лучше начать изучать изначально эти вещи, а потом уже переходить к cicd
@@RomNero Не понял что за сервера. Можете ссылочку кинуть? ) Где почитать как сервера сделать?