Drone 2.28.2 介绍与选型指南

介绍 Drone 2.28.2:开源持续集成平台的 Server/Runner 架构、声明式 YAML 管道、多源码托管集成与 Secrets、插件生态,官方快速上手示例,量化对比 Woodpecker、Jenkins、GitLab CI 并给出选型建议。

DroneDroneCICDDevOps2026/10/18

Drone 2.28.2 介绍与选型指南

本文为 A1 认知篇(软件介绍与选型指南),全部信息来自官方公开资料溯源(官方文档、官方代码仓库发行记录),不含本地安装与实测数据。文末附官方来源清单。

一、信息基准

1.1 查询基准

  • 查询日期:2026-10-18。
  • 版本依据:开源社区版(Community Edition,官方代码仓库 harness/drone)最新正式发行记录为 v2.28.2(GitHub releases 记录时间 2026-04-20);仓库主线 tag 已推进至 v3.3.0(git 标签实查,3.x 线未附带发行说明页,属快速演进线)。本文以 v2.28.2 为标题基准,同时注明 tag 线状态。
  • 发行形态(官方文档原文口径):Drone 分 Enterprise Edition 与 Community Edition 两种发行版,社区版不含任何专有代码;项目由 Harness 维护(官方署名 Drone by Harness)。
  • 许可:Apache License 2.0(官方仓库 LICENSE 文件实查)。

1.2 官方来源清单

来源说明链接
官方文档定位、安装、管道、Runner 等权威文档https://docs.drone.io/
官方文档首页Community/Enterprise 发行版口径https://docs.drone.io/
exec 管道文档宿主机执行管道官方示例https://docs.drone.io/pipeline/exec/overview/
YAML 规范管道声明式语法权威定义https://docs.drone.io/yaml/overview/
官方代码仓库版本发行记录(v2.28.2 / tag v3.3.0)https://github.com/harness/drone
仓库 LICENSE 文件Apache-2.0 原文https://github.com/harness/drone/blob/main/LICENSE

二、软件概述

Drone 2.28.2(查询时点 2026-10-18 开源社区版的最新正式发行版)是由 Harness 维护的开源持续集成平台,官方定位为「以强大的云原生管道引擎,帮助团队自动化构建、测试与发布工作流」。其核心理念是「管道即代码」:仓库根目录放置声明式的 .drone.yml 描述构建管道,源码推送等事件自动触发流水线,全部配置随代码版本化管理。项目由两部分组成——Server 提供 Web 界面与 API,负责接收源码托管平台的 Webhook、维护管道状态;Runner 负责实际执行管道步骤,官方 Runners 文档定义了多种执行后端(含直接在宿主机执行命令的 exec、面向 Kubernetes 的执行后端等),用户按部署形态选择。

Drone 支持 GitHub、GitHub Enterprise、GitLab、Gitea、Bitbucket、Gitee 等主流源码托管平台(官方安装指南逐平台列出),并内置密钥管理(Secrets)、签名(Signatures)、晋级(Promotions)、定时任务(Cron)、模板(Templates)、插件生态(Plugins)与自动扩缩(Autoscaler)等工程化能力;官方文档同时提供 Go、Node、Python、Ruby、Rust、Java 等语言的示例库。

三、核心架构

3.1 Server 与 Runner 分离

  • Server:核心服务,提供 Web UI 与 REST API,与源码托管平台(OAuth/Webhook)对接,接收构建事件、调度管道并记录状态;单二进制部署,状态可外接数据库。
  • Runner:执行代理,从 Server 拉取管道任务并执行步骤;不同 Runner 后端决定步骤的执行环境(隔离执行环境或宿主机直执行)。
  • 二者通过 gRPC 通信,可独立扩容多个 Runner 实例。

3.2 管道与步骤模型

  • .drone.yml 以 kind: pipeline 声明管道,type 决定执行后端;steps 定义有序步骤,命令以非零退出码即失败的方式判停;
  • 管道天然并行:同一仓库可声明多条管道(如同时跑测试与构建),步骤间以依赖关系编排;
  • platform 段声明目标系统与架构,实现多架构(amd64/arm 等)路由。

3.3 源码托管与触发

Server 与托管平台双向集成:安装向导完成 OAuth 授权后自动注册 Webhook;触发器可按分支、事件(push/tag/pull request 等)、路径与 cron 计时配置;Promotions 支持把同一制品推进到下游环境。

3.4 配置与安全机制

  • Secrets:仓库/命名空间级密钥注入,官方支持多种密钥后端;
  • Signatures:对受信管道文件签名,防止未审核的流水线定义被滥用;
  • YAML 规范专章定义全部语法(官方 Reference 维护)。

四、功能特性

4.1 声明式云原生管道引擎

单文件 YAML 定义全部流水线;官方 YAML Specification 保证语法稳定可移植;模板(Templates)复用管道片段,Jsonnet 等模板引擎官方支持。

4.2 多后端 Runner 矩阵

exec 管道直接在宿主机执行 shell 命令(官方文档示例完整可跑,Drone Cloud 上禁用、仅自托管可用);另有面向 Kubernetes 的执行后端等,按安全边界与部署形态选择;官方 Autoscaler 组件按队列压力自动增减执行节点。

4.3 插件生态

官方维护插件市场(plugins.drone.io),常用步骤(发布、通知、扫描、部署)以插件形式组合进管道;Addons/Extensions 文档定义扩展点。

4.4 工程化配套

Cron 定时触发、Promotions 多环境晋级、Webhooks 事件外发、Badges 状态徽标、CLI(官方 CLI Reference)与完整 REST API;Gitness 集成文档(Drone vs Gitness 专页)显示其与 Harness 系代码托管工具的协同。

4.5 双发行版策略

Community Edition 完全开源(Apache-2.0,不含专有代码);Enterprise Edition 提供商业许可与增强能力(官方文档口径),商业平台侧由 Harness 统一交付。

五、快速上手

以下引自官方文档(未做本地实测)。自托管按官方安装指南选择源码托管平台完成 Server/Runner 安装(官方逐平台向导:GitHub/GitLab/Gitea 等);Runner 与 Server 对接后,在仓库根目录添加 .drone.yml。官方 exec 管道示例(宿主机直执行,适合无法使用隔离后端的场景):

kind: pipeline
type: exec
name: default

platform:
  os: linux
  arch: amd64

steps:
- name: greeting
  commands:
  - echo hello world

说明:kind 与 type 两个属性定义一条 exec 管道;platform 指定目标操作系统与架构;steps 为有序 shell 命令,任一命令非零退出则管道失败。推送代码后,Server 接收 Webhook 并触发管道,可在 Web 界面查看执行日志。官方快速开始:https://docs.drone.io/quickstart/ ;exec 管道:https://docs.drone.io/pipeline/exec/overview/ 。

六、适用场景与限制

6.1 适用场景

  • 已使用 GitHub/GitLab/Gitea 等托管平台、希望以「管道即代码」轻量落地的中小团队 CI。
  • 以标准化构建为主、追求声明式配置与插件组合的云原生团队(配合 Kubernetes 执行后端)。
  • 需要宿主机直执行(exec)特殊工作负载的混合场景(仅自托管可用)。
  • 与 Harness 商业平台渐进衔接:开源起步,必要时演进到商业支持。

6.2 限制与注意事项

  • 版本演进存在双线:开源 release 线(v2.28.2)与主线 tag(v3.3.0)推进不同步,升级前需核对官方发行说明与发布 tag;企业增强能力与开源版功能边界以官方文档与许可页为准。
  • 单 Server 架构的高可用与水平扩展需自行规划(多 Runner 可扩,Server 侧官方文档未承诺开箱多活)。
  • 生态规模小于 Jenkins/GitLab CI:组织级复杂治理(审批流、多级权限矩阵)能力较弱,深度依赖托管平台集成。
  • exec 管道无隔离,安全敏感环境需评估授权边界。

七、同类选型对比

7.1 对比对象与版本基准

同为「持续集成/持续交付平台」定位的三个对比对象:Woodpecker CI(Drone 社区延续的分叉)、Jenkins(老牌自托管 CI 事实标准)、GitLab CI(GitLab 平台内置 CI)。版本基准(2026-10-18 查询):Drone 2.28.2(2026-04-20,tag 线 v3.3.0);Woodpecker 3.19.0(2026-10-08);Jenkins 2.580.2 RC(2026-10-15,LTS 体系滚动);GitLab CI 随 GitLab 发版(开源仓库 gitlabhq/gitlabhq)。

7.2 量化对比

维度Drone 2.28.2Woodpecker 3.19.0Jenkins 2.580.xGitLab CI
开源许可Apache-2.0(官方 LICENSE 实查)Apache-2.0(官方 LICENSE 实查)MIT(官方 LICENSE.txt 实查)多许可混合(核心 MIT,官方 LICENSE 载明)
最近发版 / stars(2026-10-18)2026-04-20;38,571(harness/drone)2026-10-08;8,017(woodpecker-ci/woodpecker)2026-10-15(2.580.2 RC);26,672(jenkinsci/jenkins)随 GitLab 月度发版;24,551(gitlabhq/gitlabhq)
版本节奏开源 release 频率放缓,主线 tag 快速推进3.x 线活跃,月度级发布每周版 + 4 周 LTS 体系月度大版本
兼容矩阵单二进制 Server + 多 Runner 后端;对接主流托管平台单二进制 + 多后端 agent;与 Drone 配置高度兼容Java 8/11/17+,跨平台;插件 1800+随 GitLab 一体化部署(CE/EE)
架构能力云原生管道引擎,YAML 声明式,插件市场去除专有组件的社区化演进,多 forge 支持最强插件生态与自由度,Groovy 管道与代码托管/制品/安全扫描一体化的 DevOps 平台

(数据来源:各项目官方仓库 LICENSE 与 releases feed、官方文档,均为 2026-10-18 查询。)

7.3 选型建议

一句话建议:追求轻量、云原生管道即代码且以 GitHub/Gitea 等托管为主的团队选 Drone(注意关注 3.x tag 线与商业版边界);希望延续 Drone 体验又要求纯社区治理、多 forge 支持,选 Woodpecker;历史包袱重、插件需求极端复杂或需要自由流水线编程选 Jenkins;已用 GitLab 做代码托管则直接用其内置 GitLab CI 最省心。

八、参考链接

  1. 官方文档:https://docs.drone.io/
  2. 官方快速开始:https://docs.drone.io/quickstart/
  3. exec 管道官方示例:https://docs.drone.io/pipeline/exec/overview/
  4. YAML 规范:https://docs.drone.io/yaml/overview/
  5. 官方代码仓库与发行记录:https://github.com/harness/drone
  6. LICENSE(Apache-2.0):https://github.com/harness/drone/blob/main/LICENSE
  7. 官方插件市场:https://plugins.drone.io/
  8. Woodpecker CI 官方仓库:https://github.com/woodpecker-ci/woodpecker
  9. Jenkins 官方仓库:https://github.com/jenkinsci/jenkins
  10. GitLab 开源仓库:https://github.com/gitlabhq/gitlabhq