Gitlab runner установка windows

GitLab — Установка

Вы можете установить GitLab Runner в разных операционных системах, установив систему контроля версий Git и создав учетную запись пользователя на сайте GitLab.

Git — система контроля версий, используемая для —

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

GitLab — это основанная на Git платформа, предоставляющая удаленный доступ к репозиториям Git и полезная для цикла разработки программного обеспечения, создавая частные и публичные репозитории для управления кодом.

GitLab поддерживает различные типы операционных систем, таких как Windows, Ubuntu, Debian, CentOS, open SUSE и Raspberry Pi 2. В этой главе мы обсудим, как установить GitLab в операционных системах Windows и Ubuntu.

Установка GitLab на Windows:

Шаг 1 — Сначала создайте папку с именем «GitLab-Runner» в вашей системе. Например, вы можете создать на диске C как C: \ GitLab-Runner.

Шаг 2 — Теперь скачайте бинарный файл для x86 или amd64 и скопируйте его в созданную вами папку. Переименуйте загруженный бинарный файл в gitlab-runner.exe .

Шаг 3 — Откройте командную строку и перейдите в созданную папку. Теперь введите приведенную ниже команду и нажмите ввод.

Шаг 4 — После выполнения вышеупомянутой команды она попросит ввести URL-адрес координатора gitlab-ci.

Шаг 5 — Введите токен gitlab-ci для бегуна.

Чтобы получить токен, войдите в свою учетную запись GitLab —

Чтобы получить токен, войдите в свою учетную запись GitLab —

Теперь перейдите к вашему проекту —

Теперь перейдите к вашему проекту —

Нажмите на опцию CI / CD на вкладке Настройки и разверните опцию Настройки бегунов .

Нажмите на опцию CI / CD на вкладке Настройки и разверните опцию Настройки бегунов .

В разделе « Настройки бегунов » вы получите токен, как показано на рисунке ниже —

В разделе « Настройки бегунов » вы получите токен, как показано на рисунке ниже —

Шаг 6 — Введите описание gitlab-ci для бегуна.

Шаг 7 — Он попросит ввести теги gitlab-ci для бегуна.

Вы можете изменить эти теги в пользовательском интерфейсе GitLab позже.

Шаг 8 — Вы можете привязать Runner к текущему проекту, установив для него значение true.

После выполнения описанных выше шагов вы получите сообщение об успешной регистрации: «Регистрация участника … выполнена успешно».

Шаг 9 — Теперь введите Runner executor для построения проекта.

Мы использовали селектор как «докер», который создает среду сборки и легко управляет зависимостями для разработки проекта.

Шаг 10 — Затем он попросит установить изображение по умолчанию для селектора докеров.

Шаг 11 — После выполнения вышеуказанных шагов на экране появится сообщение «Бегун успешно зарегистрирован». На изображении ниже будет описан рабочий процесс вышеуказанных команд —

Шаг 12 — Теперь перейдите к своему проекту, нажмите на опцию CI / CD в разделе « Настройки », и вы увидите активированных бегунов для проекта.

Читайте также:  Как linux для мобильных телефонов

Вы можете увидеть конфигурацию GitLab Runner в файле config.toml в папке GitLab-Runner, как показано ниже —

Установка GitLab на Ubuntu

GitLab может быть установлен в системе Ubuntu с помощью пакета Omnibus , который предоставляет различные сервисы для запуска GitLab. Пакет Omnibus предоставляет необходимые компоненты GitLab, устанавливает конфигурации и метаданные проекта, которые можно использовать в системе пользователя.

Следующие шаги описывают установку GitLab в Ubuntu —

Шаг 1 — Сначала войдите на ваш сервер GitLab с помощью SSH (Secure Shell).

Шаг 2 — Затем загрузите пакет Omnibus —

Шаг 3 — Установите постфикс —

Postfix — это агент передачи почты с открытым исходным кодом, используемый для доставки уведомлений по электронной почте.

Шаг 4 — При установке Postfix, он спросит тип установки; затем выберите вариант Интернет-сайта . Далее он покажет конфигурацию Postfix вместе с системным почтовым именем, как показано на рисунке —

Шаг 5 — Установите dpkg (менеджер пакетов для системы Debian) для управления установленными пакетами —

Шаг 6 — Чтобы изменения вступили в силу, вам нужно перенастроить GitLab с помощью следующей команды:

Шаг 7 — Проверьте состояние сервисов GitLab с помощью команды ниже —

Если вы хотите установить GitLab из исходного кода, установите некоторые зависимости на сервере и вам необходимо настроить базу данных с помощью PostgreSQL. Это описано в главе Настройка среды . Вы можете установить координатор для создания веб-интерфейса и управления экземплярами сборки. Для получения дополнительной информации вы можете проверить главу Установка координатора .

vgoma / gitlab-runner-virtualbox-windows-7.md

Gitlab Virtualbox Windows 7 runner

В результате выполнения шагов у вас будет готовый runner на виртуальной машине с Windows 7 с Cygwin, к которой можно будет подключиться по ssh.

Качаем установочный файл cygwin например в C:\dev\cygwin .

Пакеты для Cygwin устанавливаются именно из него

Запускаем файл с правами администратора:

Указываем, где будет корень системы Cygwin:

Указываем, откуда будут устанавливаться пакеты:

Добавляем в систему пакеты openssh , openssl :

Добавляем в систему git :

Устанавливаем SSH демон:

Запускаем настройку ssh:

Отвечаем на вопросы:

Проверяем, что служба успешно установлена:

Несмотря на то, что в Windows 7 создается учетка cyg_server необходимо включить учетную запись sshd , тк вход по ssh будет осуществляться именно из-под нее:

Включить в группу администраторов:

Задаем пароль пользователю sshd :

Выключаем виртуальную машину, и маппим порты, чтобы подключиться по ssh:

При выполнении «работы» gitlab-runner маппит порты таким же образом

Запускаем виртуальную машину из-под любого пользователя и подключаемся к ней по ssh:

Так же на этом этапе необходимо включить автологин в учетную запись sshd (чтобы были доступны все службы этого пользователя) и произвести все дополнительные настройки для учетной записи sshd (установить доверенные SSL сертификаты или сертификаты ЭП пользователя).

Делаем snapshot.

Gitlab-runner по умолчанию для каждой «работы» клонирует виртуальную машину с последнего snapshot’а (а не с текущего состояния машины). При этом если в конце истории snapshot’ов несколько одноименных, то gitlab возьмет именно первый из них.

Регистрируем runner в Gitlab

Устанавливаем ПО для запуска и регистрации runner’ов.

Подправим конфиг путь к которому подскажет gitlab-runner list , указав данные для ssh и название виртуалки:

Пример «работы» из .gitlab-ci.yml :

Читайте также:  Как включить вкладку безопасность windows

Теперь Gitlab будет выполнять работы на runner’ах с указанными тэгами.

Настройка CI/CD в GitLab для синхронизации проекта с веб-серверами

Runner в GitLab позволяют автоматизировать рутинные задачи при обновлении проектов в репозитории. В нашем примере мы рассмотрим ситуацию, когда у нас используется сервер GitLab для хранения проекта и 5 веб-серверов, куда должны попадать изменения после выполнения git push. Мы настроим наш CI/CD на синхронизацию файлов с помощью rsyncd. Предполагается, что у нас уже установлен GitLab на Linux, в противном случае, воспользуйтесь инструкцией для Ubuntu или CentOS.

Нам потребуется выполнить:

Установка и регистрация Runner

Runner — это отдельное приложение, которое запускается для выполнения заданий CI/CD. Его можно установить любой компьютер под управлением любой популярной операционной системы (Linux, Windows, BSD, Mac OS и так далее). Также доступны различные варианты установки — из репозитория, скачивание бинарника или запуск как приложения в Docker или кластере Kubernetes. Мы выполним установку из репозитория Linux на тот же сервер, где работает наш GitLab.

Установка

По умолчанию, Runner не устанавливается вместе с GitLab. Для его установки необходимо сначала настроить репозиторий — наши действия зависят от используемой системы.

а) система на базе deb-пакетов (Debian / Ubuntu):

curl -L «https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh» | sudo bash

б) система на базе RPM-пакетов (Red Hat / CentOS):

curl -L «https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh» | sudo bash

После настройки репозитория, выполняем установку. Команда также зависит от типа операционной системы.

а) для Debian / Ubuntu:

apt-get install gitlab-runner

б) для Red Hat / CentOS:

yum install gitlab-runner

После установки gitlab-runner разрешаем автозапуск сервиса и стартуем его:

systemctl enable gitlab-runner —now

Регистрация

Для корректной работы Runner его нужно связать с нашим проектом в GitLab. Для этого сначала заходим на портал последнего — переходим на страницу проекта — в меню слева выбираем SettingsCI / CD:

Находим раздел Runners:

Справа от названия кликаем по Expand:

Находим параметры для регистрации нового раннера:

. и оставляем страницу открытой — она понадобиться на следующем шаге.

В командной строке нашего сервера GitLab вводим:

* установить и запустить Runner можно не только на локальном сервере GitLab, но мы рассмотрим только данный способ.

Система в интерактивном режиме запросит данные для регистрации — вводим их:

Enter the GitLab instance URL (for example, https://gitlab.com/):
https://gitlab.dmosk.ru/
Enter the registration token:
zX_Kvkxk7ywrgwYHsod5
Enter a description for the runner:
[git-server.dmoks.ru]: DMOSK Metrics API
Enter tags for the runner (comma-separated):
dmosk, metrics, api
Registering runner. succeeded runner=zX_Kvkxk
Enter an executor: parallels, virtualbox, docker+machine, docker-ssh+machine, kubernetes, custom, docker, docker-ssh, shell, ssh:
shel

  • https://gitlab.dmosk.ru/ — адрес нашего сервера GitLab. Его можно увидеть на странице с параметрами, которую мы оставили открытой на предыдущем шаге. В моем случае, на данной странице ссылка была типа http, однако, при регистрации Runner мы ее должны поменять на https (если наш сервер использует его).
  • zX_Kvkxk7ywrgwYHsod5 — токен для регистрации раннера. Его смотрим на странице с параметрами, которые мы открывали выше.
  • DMOSK Metrics API — произвольное описание для нашего раннера.
  • dmosk, metrics, api — теги. Рекомендуется максимально точно описывать раннер тегами.
  • shell — выбираем исполнителя из предложенных вариантов. В нашем случае это просто командный интерпретатор.

В конце мы должны увидеть:

Читайте также:  How to check wifi password on windows 10

Runner registered successfully. Feel free to start it, but if it’s running already the config should be automatically reloaded!

* если мы получим ошибку «status couldn execute post against certificate signed by unknown authority», переходим к решению ниже.

Обновим страницу с параметрами для регистрации раннера — ниже мы должны увидеть, что у нас появился один новый элемент. Кликаем по изображению редактирования справа от токена:

Выставляем следующие галочки для настройки Runner:

  • Paused Runners don’t accept new jobs — если наш обработчик заданий приостановлен, он не принимает новые задания.
  • This runner will only run on pipelines triggered on protected branches — Runner должен запускаться только на защищенных ветках.
  • Indicates whether this runner can pick jobs without tags — раннер может запускать задания без тегов.
  • When a runner is locked, it cannot be assigned to other projects — если обработчик заблокирован, его нельзя назначать для других проектов.

И так, обработчик зарегистрирован и настроен. Переходим к созданию CI/CD.

Создание CI/CD для проекта

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

Переходим в GitLab на страницу проекта и кликаем по Set up CI/CD:

* данной кнопки может и не быть.

. или можно просто в корне проекта создать файл:

Задаем содержимое нашего сценария:

test:
stage: test
script: echo $CI_PROJECT_DIR/

* Из расширения файла понятно, что формат текста должен быть yml, а значит, отступы имеют значения. В данном примере мы создаем pipeline с одним единственным этапом, которое называется test. По данному заданию будет запускаться скрипт вывода значения переменной $CI_PROJECT_DIR — путь, по которому клонируется проект и где выполняется задание (если установлен $builds_dir, эта переменная устанавливается относительно данного значения. Список возможных переменных можно посмотреть на официальном сайте в разделе документации GitLab CI/CD environment variables.

После сохранения файла ждем несколько секунд и перезапускаем страницу — мы должны увидеть успешный результат выполнения сценария CI/CD:

Кликнем по значку зеленой галочки и в открывшейся странице кликаем по нашей единственной стадии:

Мы должны увидеть ход процесса выполнения задания и результат его работы:

На этой же странице справа можно вручную запустить задание еще раз:

CI/CD создан. Теперь необходимо подготовить систему к синхронизации данных.

Настройка Rsyncd

Наша синхронизация будет выполняться с помощью Rsyncd. Это удобный инструмент, с помощью которого можно поддерживать актуальное состояние двух и более каталогов. Также у нас не возникнет проблем с правами — rsync после копирования будет задавать файлам нужного владельца и нам не нужно будет выдавать права root для runner с помощью файла sudoerst. Подробнее об установке и настройке Rsyncd.

Настройки нужно выполнить как на веб-серверах, так и сервере с GitLab.

Настройка на веб-серверах

Данные действия нужно выполнить на каждом веб-сервере. Мы должны установить и настроить в качестве сервиса rsyncd. Сначала установим его. В зависимости от типа Linux, наши действия будут различаться.

Оцените статью