@Rays
2017-05-31T18:10:34.000000Z
字数 903
阅读 1556
持续集成
摘要: Yahoo! 开源了在他们在生产系统中内部使用的持续交付(CD)工具Screwdriver。该工具集成了从代码提交到生产系统部署的所有步骤,易于部署并支持回滚。Yahoo!有计划在未来的一个月内添加更多的特性。
作者: Abel Avram
正文:
Yahoo! 开源了他们在内部生产系统中使用的持续交付工具Screwdriver。
Screwdriver作为一种持续交付工具,集成了从代码提交到生产系统部署的所有步骤。Yahoo!在过去五年中逐步使用Screwdriver去自动化所有的交付过程,现可达到每日超过25,000次的构建和多于12,000次的git提交。按Yahoo!的说法,他们所希望的持续集成工具应具备以下特性:
Screwdriver具有五个主要组件:
REST API:与流水线协同工作的接口。
Web UI:用于流水线API的可视化接口。
启动器(Launcher):设置环境并执行Shell命令的工具。
执行引擎(Execution Engine):可插拔的构建执行器,支持在容器(Jenkins、Kubernetes、Mesos、Docker Swarm)内执行命令。
数据存储(Datastore):可插拔的NoSQL存储,用于维护流水线配置数据(DynamoDB、MongoDB、CouchDB、Postgres)。执行引擎和数据存储都使用了可插拔的架构,使得用户可按自身意向选用引擎。
现在Yahoo!已开源了该持续集成工具的一个精简版本,并有计划在未来的一个月内添加上一些未发布的组件,其中包括:保存可供后续使用的元数据、采集指标、分析日志,以及用于设置和执行流水线的模板。