服务商概述

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 许可支持完全自托管部署,参见 开源软件市场。