跳到主要内容

概述

Woodpecker 由核心组件(serveragent)和可选组件(autoscaler)组成。

服务器提供用户界面,处理对底层代码托管平台的 webhook 请求,提供 API 服务,并分析 YAML 文件中的管道配置。

代理通过特定的后端(Docker、Kubernetes、本地)执行工作流,并通过 GRPC 连接到服务器。多个代理可以共存,因此可以为单个实例精细调整作业限制、后端选择和其他代理相关设置。

自动缩放器允许在选择的云提供商上启动新的虚拟机来处理待处理的构建。构建完成后,虚拟机会再次销毁(经过短暂的过渡时间)。

提示

您可以添加更多代理来增加并行工作流的数量,或设置代理的 WOODPECKER_MAX_WORKFLOWS=1 环境变量来增加每个代理的并行工作流数量。

数据库

Woodpecker 默认使用 SQLite 数据库,无需安装或配置。对于较大的实例,建议将其与 Postgres 或 MariaDB 实例一起使用。有关更多详细信息,请查看数据库设置页面。

代码托管平台

没有代码的 CI/CD 系统会是什么样子。通过将 Woodpecker 连接到您的代码托管平台,您可以在推送或拉取请求等事件上启动管道。Woodpecker 还将使用您的代码托管平台进行身份验证并报告管道的状态。有关更多详细信息,请查看代码托管平台设置页面。

容器镜像

信息

不存在 latest 标签以防止意外的主版本升级。请使用 SemVer 标签或滚动的主要/次要版本标签之一。或者,可以使用 next 标签来获取来自 main 分支的滚动构建。

  • vX.Y.Z:特定版本的 SemVer 标签,无入口点 shell(scratch 镜像)
    • vX.Y
    • vX
  • vX.Y.Z-alpine:特定版本的 SemVer 标签,服务器和 CLI 无根权限(从 v3.0 开始)。
    • vX.Y-alpine
    • vX-alpine
  • next:从 main 分支构建
  • pull_<PR_ID>:从拉取请求分支构建的镜像。

镜像推送到 DockerHub 和 Quay。