服务商概述
Screwdriver CD 是 Yahoo(现 Yahoo 母公司 Verizon Media 旗下)于 2015 年开源的持续交付平台,采用 BSD 开源许可。平台设计理念是"简洁、容器原生、可扩展"——开发者通过 1 个 screwdriver.yaml 声明式文件定义构建与部署流水线,每个作业在独立的 Docker 容器中运行,并通过 Webhook 与 GitHub 深度集成。
Screwdriver 的定位介于轻量 CI 与完整 CD 之间:既保留 YAML 流水线的极简表达,又通过容器原生与自动伸缩支撑大规模构建。作为开源项目,它允许团队完全自托管、无供应商锁定,适合对数据主权、成本或定制化有要求的团队。但相较 Jenkins 或 GitHub Actions 等生态庞大的平台,Screwdriver 的社区活跃度与功能迭代速度相对有限。
核心优势
- 容器原生隔离:每个作业在独立 Docker 容器中运行,1 套镜像配置保证环境一致性,参见 Docker 部署指南。
- 声明式 YAML:1 个
screwdriver.yaml定义从构建到部署的完整流程,配置可版本化、可评审。 - 自动伸缩:Worker 按队列长度动态扩缩,闲置时缩容至 0,节省构建资源。
- GitHub 深度集成:Webhook 1 键接入自动触发构建,支持受保护分支与审批门槛。
- 开源免费:BSD 许可 0 成本,可完全自托管,无供应商锁定。
产品生态
screwdriver.yaml 流水线
基于 YAML 的声明式流水线,支持作业、步骤与触发条件定义,配合 Git 工作流实现从构建到部署的自动化。
容器执行器
每个作业以容器方式执行,支持自定义镜像与资源限制,构建环境即代码,保证可复现性。
自动伸缩 Worker
根据队列长度自动增加或回收 Worker,空闲时缩容至 0,在保证吞吐的同时控制成本。
GitHub 集成
通过 Webhook 接收代码事件自动触发构建,支持受保护分支与状态回写,形成 CI/CD 闭环。
不足之处
- 社区不活跃:主要由 Yahoo 内部维护,第三方贡献与插件有限。
- 文档有限:入门教程与最佳实践较少,学习依赖源码与社区。
- 迭代缓慢:功能更新节奏慢于 Jenkins、GitHub Actions 等活跃项目。
适用场景
- Yahoo/Verizon 生态用户(★★★★☆):熟悉 Yahoo 内部工具链的团队。
- 自托管 CI/CD 需求(★★★★☆):需要轻量开源方案、数据主权优先。
- 容器化开发团队(★★★☆☆):已用 Docker 定义构建环境。
- 主流 CI/CD 用户(★★☆☆☆):建议评估 Jenkins 或 GitHub Actions。
价格参考
| 项目 | 定价 | 说明 |
|---|---|---|
| Screwdriver Core | $0(BSD) | 开源免费,可自托管 |
| 托管服务 | 定制 | 由社区或第三方提供 |
注:Screwdriver 为开源项目,核心平台免费,托管服务按供应商报价。
常见问题
- Screwdriver 还在活跃开发吗? 仍在维护,但更新频率较低,参见 开源软件市场。
- 支持 Kubernetes 吗? 支持,可通过 Kubernetes 执行器运行构建作业,参见 Kubernetes 部署入门。
- Screwdriver 与 Jenkins 怎么选? Screwdriver 更轻量、容器原生;Jenkins 生态与插件更丰富。
- 可以自托管吗? 可以,BSD 许可支持完全自托管部署,参见 开源软件市场。