代理
代理通过命令行或环境变量进行配置。至少您需要以下信息:
WOODPECKER_SERVER=localhost:9000
WOODPECKER_AGENT_SECRET="your-shared-secret-goes-here"
以下内容会自动设置,可以被覆盖:
WOODPECKER_HOSTNAME如果未设置,将成为操作系统的主机名WOODPECKER_MAX_WORKFLOWS如果未设置,默认为 1
每个代理的工作流
默认情况下,在代理上并行执行的最大工作流数是 1。如果需要,您可以添加 WOODPECKER_MAX_WORKFLOWS 来增加代理的并行处理能力。
WOODPECKER_SERVER=localhost:9000
WOODPECKER_AGENT_SECRET="your-shared-secret-goes-here"
WOODPECKER_MAX_WORKFLOWS=4
代理注册
当代理启动时,它使用来自 WOODPECKER_AGENT_SECRET 的令牌连接到服务器。服务器识别代理,如果之前没有连接过,则在其数据库中注册代理。
有两种类型的令牌可以将代理连接到服务器:
使用系统令牌
系统令牌 是系统范围内使用的令牌,例如,当您在服务器和代理上的 WOODPECKER_AGENT_SECRET 中设置相同的令牌时。
在这种情况下,注册过程如下:
- 代理第一次与服务器通信时,使用系统令牌
- 如果之前没有完成,服务器在其数据库中注册代理并生成一个唯一 ID,然后发送回代理
- 代理将接收到的 ID 存储在文件中(由
WOODPECKER_AGENT_CONFIG_FILE配置) - 在后续启动时,代理使用系统令牌和其接收到的 ID 向服务器标识自己
使用代理令牌
代理令牌 是仅由一个特定代理使用的令牌。这个唯一令牌通过 WOODPECKER_AGENT_SECRET 应用于代理。
要获取 代理令牌,您必须使用 UI 在服务器中手动注册代理:
- 管理员在
Settings -> Agents -> Add agent手动注册新代理
- 必须使用
WOODPECKER_AGENT_SECRET向代理提供上一步生成的令牌 - 代理将使用提供的令牌连接到服务器,并在 UI 中更新其状态:
环境变量
SERVER
- 名称:
WOODPECKER_SERVER - 默认值:
localhost:9000
配置服务器的 gRPC 地址。
USERNAME
- 名称:
WOODPECKER_USERNAME - 默认值:
x-oauth-basic
gRPC 用户名。
AGENT_SECRET
- 名称:
WOODPECKER_AGENT_SECRET - 默认值:无
服务器和代理用于验证通信的共享密钥。可以通过 openssl rand -hex 32 生成密钥。
AGENT_SECRET_FILE
- 名称:
WOODPECKER_AGENT_SECRET_FILE - 默认值:无
从指定文件路径读取 WOODPECKER_AGENT_SECRET 的值,例如 /etc/woodpecker/agent-secret.conf
LOG_LEVEL
- 名称:
WOODPECKER_LOG_LEVEL - 默认值:
info
配置日志级别。可能的值是 trace、debug、info、warn、error、fatal、panic、disabled 和空。
DEBUG_PRETTY
- 名称:
WOODPECKER_DEBUG_PRETTY - 默认值:
false
启用美化打印的调试输出。
DEBUG_NOCOLOR
- 名称:
WOODPECKER_DEBUG_NOCOLOR - 默认值:
true
禁用彩色调试输出。
HOSTNAME
- 名称:
WOODPECKER_HOSTNAME - 默认值:无
配置代理主机名。
AGENT_CONFIG_FILE
- 名称:
WOODPECKER_AGENT_CONFIG_FILE - 默认值:
/etc/woodpecker/agent.conf
配置代理配置文件的路径。
MAX_WORKFLOWS
- 名称:
WOODPECKER_MAX_WORKFLOWS - 默认值:
1
配置并行工作流的数量。
备注
由于这是一个完整的配置文档,还有更多环境变量配置选项。这里提供了主要配置部分的翻译。如需完整的配置选项列表,请参考英文原版文档。