Установка shell gitlab runner
В первую очередь разберемся что такое shell gitlab runner и зачем он нужен.
Gitlab-runner — это программа — агент, которая выполняет инструкции указанные в файлах .gitlab-ci.yml ваших репозиториев. Проще говоря — агент, который выполняет инструкции ваших pipeline, без которого вам не обойтись, если вы настраиваете ci\cd своего проекта, с помощью gitlab.
Gitlab-runner поддерживает много разных сред для выполнения, например docker, kubernetes, shell и т.д. Для этого он запускает помощника «executor» в котором уже выполняется сам пайплайн.
В нашем случае в роли executor будет shell системы.
Проще говоря мы установим гитлаб раннер, и настроим таким образом что бы он выполнял команды внутри системы так, как если бы вы делали это самостоятельно, руками, в консоли вашей машины.
Для установки gitlab-runner скачиваем и выполняем скрипт с помощью:
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh"| sudo bash
Эта команда скачает скрипт установки и сразу выполнит его. Скрипт самостоятельно определит вашу систему, добавит нужные утилиты и репозитории для работы.
Далее устанавливаем сам gitlab-runner:
sudo apt-get install gitlab-runner
Остается только зарегистрировать раннер:
gitlab-runner register
он по порядку предложит ввести вам:
- Enter the GitLab instance URL (for example, https://gitlab.com/): вводим URL вашего gitlab инстанса
- Enter the registration token: вводим токен ранера (получить можно в админке, или в группе\проекте в разделе ci\cd)
- Enter a description for the runner: Вводим произвольное описание, или оставляем пустым
- Enter tags for the runner (comma-separated): Вводим тег(и) для вашего ранера, нужны для запуска тегированных заданий и разделения ранеров по ролям. Можно оставить пустым и заполнить потом в интерфейсе самого gitlab
- Enter optional maintenance note for the runner: это поле в общем случае должно содержать информацию относящуюся к другим разработчикам управляющим этим ранером. Например характеристики системы (ЦПУ\ОЗУ\ОС). Но в большинстве случаев это поле никто не заполняет. Оставляем пустым.
- Enter an executor: docker+machine, kubernetes, custom, docker-ssh, shell, virtualbox, docker, parallels, ssh, docker-ssh+machine: вводим docker. Выбор способа выполнения вашего pipeline.
- docker+machine — Предназначен больше для облачных решений и ЦОД. Создает виртуальные машины, устанавливает на них docker, и настраивает docker клиент для дальнейшей работы
- kubernetes — использует для сборок кластер kubernetes, подключаясь к kubernetes API
- custom — как следует из названия — custom executor, нужен для работы со средами, которые гитлаб не поддерживает «нативно», например Подман
- docker-ssh — с версии 10 висит в deprecated, устарел и скоро будет выпилен
- shell — как из названия — выполняет все действия локально на машине, не подходит для использования gitlab-runner в docker контейнере. Бывает полезен в некоторых случаях, когда вам нужно внести изменения непосредственно в самой системе, или если у вас монолитное, не микросервисное, приложение.
- virtualbox — создает из образа или снапшота виртуальную машину в vitrualbox, подключается к ней по ssh и выполняет действия указанные в .gitlab-ci.yml. По завершении машина удаляется
- docker — Подключается к docker-engine машины и выполняет все действия в изолированных контейнерах, которые по окончании уничтожаются (наиболее удобный вариант)
- parallels — работает аналогично virtualbox, только в качестве виртуализации использует parallels
- ssh — не поддерживает сборочные кэши, выполняет сборки на удаленных машинах. Поддерживает только bash команды
- docker-ssh+machine — как и docker-ssh устарел и будет выпелен.
В итоге вы должны указать:
- URL вашего gitlab
- Токен для раннера
- описание ( например backend)
- тэг (например backend)
- описание для разработки (оставим пустым)
- executor (shell)
В результате вы должны увидеть сообщение об успешной регистрации.
Источник: https://sysadmintalks.ru/gitlab-runner-shell/
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-04-22 » Комментирование кода и генерация документации в PHP
- 2024-04-22 » SEO в России и на Западе: в чем основные отличия
- 2024-04-22 » SEO для международного масштабирования
- 2024-04-22 » Как использовать XML-карты для продвижения сайта
- 2024-04-22 » Цифровой маркетинг: инструменты для продвижения и рекламы в 2024 году
- 2024-04-22 » Что такое CSS-модули и зачем они нам?
- 2024-04-17 » 23 сервиса для эффективного экспресс-аудита любого сайта
- 2024-04-08 » Яндекс переходит на новую версию Wordstat
- 2024-04-08 » Яндекс интегрировал в свой облачный сервис эмпатичную нейросеть
- 2024-04-08 » Новая версия нейросети Claude превзошла по мощности аналоги Google и OpenAI
- 2024-04-08 » Как пользоваться GPT 4 и Claude бесплатно и без VPN
- 2024-03-13 » Стратегии SEO на 2024 год
- 2024-03-13 » Как использовать анимацию с помощью JavaScript-библиотеки GSAP
- 2024-03-13 » Использование GSAP 3 для веб-анимации
- 2024-03-13 » Cогласование топографической съёмки с эксплуатирующими организациями
- 2024-02-19 » Теряются лиды? Как настроить сквозную аналитику
- 2024-02-17 » Мерч и IT: на что обратить внимание в 2024 году
- 2024-02-16 » Копируем с RSync: основные примеры синхронизации файлов
- 2024-02-15 » Лучшие noCode AI платформы для создания диалоговых ботов
- 2024-02-14 » Факторы ранжирования Google 2024 — исследование Semrush
- 2024-02-12 » Перенос сайта на другой хостинг
- 2024-02-05 » В России сформирован реестр хостинг-провайдеров
- 2024-02-04 » Использование SSH для подключения к удаленному серверу Ubuntu
- 2024-02-03 » Подключаемся к серверу за NAT при помощи туннеля SSH. Простая и понятная инструкция
- 2024-02-02 » Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам
- 2024-02-01 » GitLab CI Pipeline. Запуск сценария через SSH на удаленном сервере
- 2024-01-29 » Introduction to GitLab’s CI/CD for Continuous Deployments
- 2024-01-26 » Настройка GitLab CI/CD
- 2024-01-25 » Установка shell gitlab runner
- 2024-01-25 » Установка и регистрация gitlab-runner в docker контейнере
Не бойся быть ни как все и все захотят быть как ты! |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.