概述
Woodpecker 由基本组件(服务器 和 代理)和一个可选组件(自动缩放器)组成。
服务器 提供用户界面,处理来自底层代码托管平台的 webhook 请求,提供 API 并分析来自 YAML 文件的管道配置。
代理 通过特定的后端(Docker、Kubernetes、本地)执行[工作流](../20-usage/15-terminology/index.md),并通过 GRPC 连接到服务器。多个代理可以共存,这样可以为单个实例微调作业限制、后端选择和其他代理相关设置。
自动缩放器 允许在选择的云提供商上启动新 VM 来处理待处理的构建。构建完成后,VM 将被销毁(经过短暂的过渡时间)。
提示
您可以添加更多代理来增加并行工作流的数量,或者设置代理的 WOODPECKER_MAX_WORKFLOWS=1 环境变量来增加每个代理的并行工作流数量。
数据库
Woodpecker 默认使用 SQLite 数据库,无需安装或配置。对于较大的实例,建议与 Postgres 或 MariaDB 实例一起使用。更多细节请查看数据库设置页面。
代码托管平台
没有代码的 CI/CD 系统会是什么样子。通过将 Woodpecker 连接到您的代码托管平台,您可以在推送或拉取请求等事件上启动管道。Woodpecker 还将使用您的代码托管平台进行身份验证并报告管道状态。更多细节请查看代码托管平台设置页面。
容器镜像
信息
不存在 latest 标签以防止意外的主要版本升级。使用 SemVer 标签或滚动的主要/次要版本标签之一。或者,可以使用 next 标签用于从 main 分支构建的滚动构建。
vX.Y.Z: 特定版本的 SemVer 标签,无入口点 shell(scratch 镜像)vX.YvX
vX.Y.Z-alpine: 特定版本的 SemVer 标签,Server 和 CLI 无根(从 v3.0 开始)。vX.Y-alpinevX-alpine
next: 从main分支构建pull_<PR_ID>: 从 Pull Request 分支构建的镜像。
镜像推送到 DockerHub 和 Quay。