代理
代理通过命令行或环境变量配置。至少您需要以下信息:
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 在服务器中手动注册代理:
- 管理员在
设置 -> 代理 -> 添加代理手动注册新代理
- 必须使用
WOODPECKER_AGENT_SECRET将上一步生成的令牌提供给代理 - 代理将使用提供的令牌连接到服务器,并更新 UI 中的状态:
环境变量
服务器
- 名称:
WOODPECKER_SERVER - 默认值:
localhost:9000
配置服务器的 gRPC 地址。
用户名
- 名称:
WOODPECKER_USERNAME - 默认值:
x-oauth-basic
gRPC 用户名。
代理密钥
- 名称:
WOODPECKER_AGENT_SECRET - 默认值: 无
服务器和代理用于认证通信的共享密钥。可以使用 openssl rand -hex 32 生成密钥。
代理密钥文件
- 名称:
WOODPECKER_AGENT_SECRET_FILE - 默认值: 无
从指定文件路径读取 WOODPECKER_AGENT_SECRET 的值,例如 /etc/woodpecker/agent-secret.conf
日志级别
- 名称:
WOODPECKER_LOG_LEVEL - 默认值:
info
配置日志级别。可能的值有 trace, debug, info, warn, error, fatal, panic, disabled 和空值。
调试美观输出
- 名称:
WOODPECKER_DEBUG_PRETTY - 默认值:
false
启用美观的调试输出。
调试无颜色
- 名称:
WOODPECKER_DEBUG_NOCOLOR - 默认值:
true
禁用彩色调试输出。
主机名
- 名称:
WOODPECKER_HOSTNAME - 默认值: 无
配置代理主机名。
代理配置文件
- 名称:
WOODPECKER_AGENT_CONFIG_FILE - 默认值:
/etc/woodpecker/agent.conf
配置代理配置文件路径。
最大工作流
- 名称:
WOODPECKER_MAX_WORKFLOWS - 默认值:
1
配置并行工作流的数量。
代理标签
- 名称:
WOODPECKER_AGENT_LABELS - 默认值: 无
为代理配置自定义标签,以允许工作流按其过滤。
使用键值对列表,如 key=value,second-key=*。* 可以用作通配符。
默认情况下,代理提供三个额外的标签 platform=os/arch, hostname=my-agent 和 repo=*,如有需要可以覆盖。
要了解标签如何工作,请查看管道语法页面。
健康检查
- 名称:
WOODPECKER_HEALTHCHECK - 默认值:
true
启用健康检查端点。
健康检查地址
- 名称:
WOODPECKER_HEALTHCHECK_ADDR - 默认值:
:3000
配置健康检查端点地址。
保持活动时间
- 名称:
WOODPECKER_KEEPALIVE_TIME - 默认值: 无
在没有活动的这段时间后,代理会 ping 服务器以检查传输是否仍然活跃。
保持活动超时
- 名称:
WOODPECKER_KEEPALIVE_TIMEOUT - 默认值:
20s
在进行保持活动检查 ping 后,代理等待这段时间,如果没有活动则关闭连接。
gRPC 安全
- 名称:
WOODPECKER_GRPC_SECURE - 默认值:
false
配置到 WOODPECKER_SERVER 的连接是否应使用安全传输。
gRPC 验证
- 名称:
WOODPECKER_GRPC_VERIFY - 默认值:
true
配置是否应验证 gRPC 服务器证书,仅在 WOODPECKER_GRPC_SECURE 为 true 时有效。
后端
- 名称:
WOODPECKER_BACKEND - 默认值:
auto-detect
配置用于运行管道的后端引擎。可能的值有 auto-detect, docker, local 或 kubernetes。
BACKEND_DOCKER_*
请参阅 Docker 后端配置
BACKEND_K8S_*
请参阅 Kubernetes 后端配置
BACKEND_LOCAL_*
请参阅 本地后端配置
高级设置
只有在您知道自己在做什么的情况下才更改这些设置。
连接重试次数
- 名称:
WOODPECKER_CONNECT_RETRY_COUNT - 默认值:
5
配置代理重试连接服务器的次数。
连接重试延迟
- 名称:
WOODPECKER_CONNECT_RETRY_DELAY - 默认值:
2s
配置代理连接服务器重试之间的延迟。