Раннер организации, пример
Настоящий пример демонстрирует регистрацию и работу одного организации с рабочими процессами двух репозиториев.
Ссылки для скачивания раннеров см. в таблице.
Репозитории из настроящего примера открыты и доступны для импорта:
Структура проекта
-
Структура проекта с раннером - размещать, регистрировать и запускать раннер можно в любой директории.
-
Структура репозитория org_runner_example1:
$ tree -a -I .git
.
├── .gitverse
│ └── workflows
│ └── orgRunnerDemo1.yaml
├── README.md
└── push_commit_to_start_runner.md.md
- Структура репозитория org_runner_example2:
$ tree -a -I .git
.
├── .gitverse
│ └── workflows
│ └── orgRunnerDemo2.yaml
├── README.md
└── push_commit_to_start_runner.md.md
Рабочие процессы репозиториев
orgRunnerDemo1.yaml первого репозитория
name: Organization CI/CD Demo part 1
on:
push:
jobs:
build-test:
name: first repo workflow
runs-on: org-runner # метка раннера
steps:
- name: Display Workflow
run: echo ${{ gitverse.workflow }}
- name: Display repository name
run: echo ${{ gitverse.Repository}}
orgRunnerDemo1.yam2 второго репозитория
name: Organization CI/CD Demo part 2
on:
push:
jobs:
build-test:
name: second repo workflow
runs-on: org-runner # метка раннера
steps:
- name: Display Workflow
run: echo ${{ gitverse.workflow }}
- name: Display repository name
run: echo ${{ gitverse.Repository}}
Подготовительные действия
Включение CI/CD
CI/CD при создании по умолчанию включен (начиная с релиза 15.0.0).
Для включения/выключения CI/CD в профиле вашего репозитория нажмите:
- Настройки.
- Репозиторий.
- CI/CD.
- Обновить.
Пример:
Установка docker
См. раздел Установка Docker (Ubuntu).
Подготовка раннера
-
Скачайте раннер, соответствующий вашей ОС. В данном примере используется act_runner_linux_amd64.
-
Разместите раннер в любом каталоге.
-
Передайте права на исполнение:
sudo chmod +x act_runner_linux_amd64
Получение токена раннера организации
Для получения токена регистрации раннера перейдите в профиль организации и далее:
- Перейдите в Настройки.
- Выберите Раннеры.
- Нажмите Добавить раннер.
- Скопируйте регистрационный токен.
Регистрация раннера
В команде регистрации раннера замените токен на скопированный в профиле организации:
sudo ./act_runner_linux_amd64 register \
--no-interactive \
--instance https://gitverse.ru/sc \
--token q3l7yDL0mh4gn4Yg3XfxnMuRDqoFEZf3pEr7KUOq \
--name organization-runner-demo \
--labels org-runner
- Строка
--name organization-runner-demo
определит имя раннера, которое можно найти позднее в отчете. - Строка
--labels org-runner
определит имя метки раннера, которое должно быть так же прописано в рабочем процессе репозитория.
Отобразится ответ вида:
$ sudo ./act_runner_linux_amd64 register \
> --no-interactive \
> --instance https://gitverse.ru/sc \
> --token q3l7yDL0mh4gn4Yg3XfxnMuRDqoFEZf3pEr7KUOq \
> --name organization-runner-demo \
> --labels org-runner
INFO Registering runner, arch=amd64, os=linux, version=3.0.4.
DEBU Successfully pinged the GitVerse instance server
INFO Runner registered successfully.
В профиле организации > Настройки > Раннеры отобразится зарегистрированный раннер:
Запуск раннера
Для запуска раннера выполните команду:
sudo ./act_runner_linux_amd64 daemon
Проверка работы раннера в репозиториях организации
Для запуска раннера внесите изменения в репозиторий и отправьте коммит, так как согласно файлам рабочего процесса orgRunnerDemo1.yaml и orgRunnerDemo1.yaml, раннер будет обрабатывать события push
(для любого репозитория в организации с меткой org_runner
).
Перейдите в профиль первого репозитория > Настройки и выберите последний отчет:
Из шага Set up job видно, что задачи рабочего процесса orgRunnerDemo1.yaml выполнил наш раннер organization-runner-demo:
Перейдите на в профиль второго репозитория > Настройки и выберите последний отчет:
Из шага Set up job видно, что задачи рабочего процесса orgRunnerDemo2.yaml выполнил наш раннер organization-runner-demo:
Связанные разделы
-
Поддерживаемые события раннеров, справочный раздел в Базе знаний.
-
Раннеры организации, справочный раздел в Базе знаний.