nick_invision.macos_github_actions_runner
macos-github-actions-runner
这个角色将在 MacOS/MacOSX 上安装 GitHub Actions 自托管的运行器,可以选择在组织或仓库级别进行安装。它会执行干净安装、根据需要重新安装、如果服务未运行则重新安装或卸载。此脚本受到 ansible-github_actions_runner 的启发,但经过修改以适用于 MacOS。
需求
此角色仅适用于 MacOS 10.13(高 Sierra)或更高版本。
以下环境变量是必要的:
PERSONAL_ACCESS_TOKEN
- GitHub 个人访问令牌(PAT),如果添加仓库运行器需要repo
范围,如果添加组织运行器则需要admin:org
范围。
以下变量是必需的:
github_account
- 区分大小写的 GitHub 帐号名称。可以是 GitHub 用户名或 GitHub 组织名称。access_token
- 这是可选的,可以替代所需的PERSONAL_ACCESS_TOKEN
环境变量。
角色变量
默认值(来自 defaults/main.yml
):
# 运行器用户 - 本地运行器服务运行的用户
runner_user: "vagrant"
# 本地运行器安装的目录
runner_dir: ~/actions-runner
# GitHub Actions 运行器的版本
runner_version: "latest"
# 如果服务器上已找到,删除已存在的运行器服务并重新安装
reinstall_runner: no
# 不显示可能包含敏感数据(注册令牌)的 Ansible 日志
hide_sensitive_logs: yes
# GitHub 地址
github_url: "https://github.com"
# GitHub API
github_api_url: "https://api.github.com"
# GitHub 帐户的个人访问令牌
access_token: "{{ lookup('env', 'PERSONAL_ACCESS_TOKEN') }}"
# 这是组织的运行器吗?
runner_org: no
# 在 GitHub 中为此运行器分配的名称(默认使用系统主机名)
runner_name: "{{ hostname }}"
# 应用到运行器的标签
runner_labels: []
# 应用到运行器的工作目录
runner_work_dir: "_work"
# 传递给 `config.sh` 的额外参数
runner_extra_config_args: ""
依赖
无
示例剧本
要配置仓库级别的 GitHub 自托管运行器:
- name: 安装 GitHub Actions 运行器
hosts: macs
user: ansible
become: yes
vars:
- github_account: github-access-user
- github_repo: my_awesome_repo
roles:
- role: nick-invision.macos_github_actions_runner
要配置组织级别的 GitHub 自托管运行器:
- name: 安装 GitHub Actions 运行器
hosts: macs
user: ansible
become: yes
vars:
- github_account: github-access-user
- runner_org: true
roles:
- role: nick-invision.macos_github_actions_runner
要配置具有各种覆盖的 GitHub 自托管运行器:
- name: 安装 GitHub Actions 运行器
hosts: macs
user: ansible
become: yes
vars:
- github_account: github-access-user
- runner_org: true
- runner_labels:
- some-label
- runner_version: 2.277.0
roles:
- role: nick-invision.macos_github_actions_runner
许可证
MIT