Files
loong_runner/internal/pkg/config/config.example.yaml

101 lines
4.4 KiB
YAML

# 示例配置文件,可以安全地将其复制为默认配置文件而无需任何修改。
# 您不必将此文件复制到您的实例,
# 只需运行 `./act_runner generate-config > config.yaml` 来生成配置文件。
log:
# 日志级别,可以是 trace、debug、info、warn、error、fatal
level: info
runner:
# 存储注册结果的路径。
file: .runner
# 同时执行多少个任务。
capacity: 1
# 运行作业的额外环境变量。
envs:
A_TEST_ENV_NAME_1: a_test_env_value_1
A_TEST_ENV_NAME_2: a_test_env_value_2
# 从文件中运行作业的额外环境变量。
# 如果为空或文件不存在,则会被忽略。
env_file: .env
# 作业完成的超时时间。
# 请注意,Gitea 实例也有一个作业超时时间(默认为 3 小时)。
# 如果这个超时时间比 Gitea 实例的超时时间短,作业可能会被 Gitea 实例停止。
timeout: 3h
# 运行器在关闭时等待运行作业完成的超时时间。
# 在这个超时时间之后仍未完成的任何运行作业将被取消。
shutdown_timeout: 0s
# 是否跳过验证 Gitea 实例的 TLS 证书。
insecure: false
# 从 Gitea 实例获取作业的超时时间。
fetch_timeout: 5s
# 从 Gitea 实例获取作业的时间间隔。
fetch_interval: 2s
# 运行器的标签用于确定运行器可以运行哪些作业以及如何运行它们。
# 例如:"linux-loong64.abi2:host" 或 "debian-latest:docker://lcr.loongnix.cn/library/debian:latest"
# 在 https://gitea.com/docker.gitea.com/runner-images 查找 Gitea 提供的更多镜像。
# 如果在注册时为空,它会要求输入标签。
# 如果在执行 `daemon` 时为空,将使用 `.runner` 文件中的标签。
labels:
- "debian-latest:docker://lcr.loongnix.cn/library/debian:latest"
- "anolisos-latest:docker://lcr.loongnix.cn/library/anolisos:latest"
- "anolisos-23.2:docker://lcr.loongnix.cn/library/anolisos:23.2"
cache:
# 启用缓存服务器以使用 actions/cache。
enabled: true
# 存储缓存数据的目录。
# 如果为空,缓存数据将存储在 $HOME/.cache/actcache。
dir: ""
# 缓存服务器的主机。
# 它不是用于监听的地址,而是用于作业容器连接的地址。
# 所以 0.0.0.0 是一个糟糕的选择,留空以自动检测。
host: ""
# 缓存服务器的端口。
# 0 表示使用随机可用端口。
port: 0
# 外部缓存服务器 URL。仅在启用时有效。
# 如果指定了它,act_runner 将使用此 URL 作为 ACTIONS_CACHE_URL 而不是自己启动一个服务器。
# URL 通常应该以 "/" 结尾。
external_server: ""
container:
# 指定容器将连接的网络。
# 可以是 host、bridge 或自定义网络的名称。
# 如果为空,act_runner 将自动创建一个网络。
network: ""
# 启动任务容器时是否使用特权模式(特权模式对于 Docker-in-Docker 是必需的)。
privileged: false
# 容器启动时使用的其他选项(例如,--add-host=my.gitea.url:host-gateway)。
options:
# 作业工作目录的父目录。
# 注意:不需要在路径前添加第一个 '/',因为 act_runner 会自动添加。
# 如果路径以 '/' 开头,'/' 将被修剪。
# 例如,如果父目录是 /path/to/my/dir,workdir_parent 应该是 path/to/my/dir
# 如果为空,将使用 /workspace。
workdir_parent:
# 可以挂载到容器的卷(包括绑定挂载)。支持 glob 语法,参见 https://github.com/gobwas/glob
# 您可以指定多个卷。如果序列为空,则不能挂载任何卷。
# 例如,如果您只允许容器挂载 `data` 卷和 `/src` 中的所有 json 文件,您应该将配置更改为:
# valid_volumes:
# - data
# - /src/*.json
# 如果您想允许任何卷,请使用以下配置:
# valid_volumes:
# - '​**​'
valid_volumes: []
# 用指定的主机覆盖 docker 客户端主机。
# 如果为空,act_runner 将自动查找可用的 docker 主机。
# 如果是 "-",act_runner 将自动查找可用的 docker 主机,但 docker 主机不会挂载到作业容器和服务容器。
# 如果不为空或 "-",将使用指定的 docker 主机。如果不起作用,将返回错误。
docker_host: ""
# 即使已经存在也拉取 Docker 镜像
force_pull: true
# 即使已经存在也重建 Docker 镜像
force_rebuild: false
host:
# 作业工作目录的父目录。
# 如果为空,将使用 $HOME/.cache/act/。
workdir_parent: