跳到主要内容

代理

代理通过命令行或环境变量进行配置。至少您需要以下信息:

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 中设置相同的令牌时。

在这种情况下,注册过程如下:

  1. 代理第一次与服务器通信时,使用系统令牌
  2. 如果之前没有完成,服务器在其数据库中注册代理并生成一个唯一 ID,然后发送回代理
  3. 代理将接收到的 ID 存储在文件中(由 WOODPECKER_AGENT_CONFIG_FILE 配置)
  4. 在后续启动时,代理使用系统令牌其接收到的 ID 向服务器标识自己

使用代理令牌

代理令牌 是仅由一个特定代理使用的令牌。这个唯一令牌通过 WOODPECKER_AGENT_SECRET 应用于代理。

要获取 代理令牌,您必须使用 UI 在服务器中手动注册代理:

  1. 管理员在 Settings -> Agents -> Add agent 手动注册新代理 代理创建 代理已创建
  2. 必须使用 WOODPECKER_AGENT_SECRET 向代理提供上一步生成的令牌
  3. 代理将使用提供的令牌连接到服务器,并在 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

配置日志级别。可能的值是 tracedebuginfowarnerrorfatalpanicdisabled 和空。


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

配置并行工作流的数量。


备注

由于这是一个完整的配置文档,还有更多环境变量配置选项。这里提供了主要配置部分的翻译。如需完整的配置选项列表,请参考英文原版文档。