github_actions_runner
Роль Ansible для самонастроенного GitHub Actions Runner
Это роль Ansible, которая устанавливает и настраивает самонастроенные Runner'ы GitHub Actions на одном или нескольких хостах. Вы можете повторно использовать её для разных URL (репозиториев или организаций) на одном и том же хосте, чтобы максимально использовать её функциональность.
Основные цели этой роли:
- избежать растрат: повторно использовать один и тот же хост для предоставления среды сборки для нескольких репозиториев или организаций;
- идемпотентность: многократное выполнение роли не приведет к сбоям, шаги имеют проверки, которые определяют, нужно ли их выполнять;
Переменные
Полный список переменных см. в файле defaults. В идеале все значения будут содержать комментарии, описывающие их назначение, и по умолчанию вы сможете определить тип.
Обязательные переменные
Следующие значения обязательны, так как без них невозможно зарегистрировать самонастроенный Runner.
Название | Описание |
---|---|
gh_runner_config_url | URL репозитория или организации GitHub |
gh_runner_config_token | Токен регистрации GitHub для аутентификации хоста |
Пример Плейбука
Простейший случай использования: Конфигурация одного репозитория на одном хосте.
- hosts: foo
roles:
- role: macunha1.github_actions_runner
vars:
gh_runner_config_labels:
- linux
- self-hosted
gh_runner_config_url: https://github.com/macunha1/ansible-github-actions-runner
gh_runner_config_token: AC5TNLJP9SBAFNEKKLLBLF264J8XO
Сложный случай использования, для которого была создана эта роль
- hosts: foo
roles:
- role: macunha1.github_actions_runner
vars:
gh_runner_config_labels:
- linux
- self-hosted
gh_runner_config_url: https://github.com/macunha1/ansible-github-actions-runner
gh_runner_config_token: AC5TNLJP9SBAFNEKKLLBLF264J8XO
- role: macunha1.github_actions_runner
vars:
gh_runner_config_url: https://github.com/macunha1/another-repository
gh_runner_config_token: AC5CQV3IJRR2OAFGEFCPJ0WJPJQXO
- role: macunha1.github_actions_runner
vars:
gh_runner_config_url: https://github.com/macunha-acme-corp
gh_runner_config_token: ACYWUR9MHGR9U58C34W9ZK00UNBF
Обратите внимание, что несмотря на использование одного и того же хоста, каждая из этих конфигураций GitHub Actions Runner будет иметь свой собственный путь и учетные данные. Поэтому они могут существовать в гармонии и не мешать друг другу.
Участие
Не стесняйтесь создавать issue с запросами на новые функции или (что еще лучше) отправлять мне Pull request. Я буду рад сотрудничать с вами.
Если эта роль не сработала для вас или если вы обнаружили ошибку во время выполнения, дайте мне знать.
Idempotent Ansible role that installs and configures self-hosted GitHub Actions Runners (yeah, plural!)
ansible-galaxy install macunha1/ansible-github-actions-runner