Yahoo! Screwdriver:可扩展的持续集成工具

简介:

Yahoo! 开源了他们在内部生产系统中使用的持续交付工具Screwdriver。

Screwdriver作为一种持续交付工具,集成了从代码提交到生产系统部署的所有步骤。Yahoo!在过去五年中逐步使用Screwdriver去自动化所有的交付过程,现可达到每日超过25,000次的构建和多于12,000次的git提交。按Yahoo!的说法,他们所希望的持续集成工具应具备以下特性:

使得开发人员易于建立部署流水线。流水线采用YAML文件定义,并可通过放弃变更或者使用另一版本配置文件将流水线还原回早期的版本。 主干开发的优化。主干中应包括应用的可交付版本。为确保被拉取的代码在提交前已得到测试,测试是自动运行的。 支持回滚。任何具有写权限的人可在发生错误时回滚部署。
Screwdriver具有五个主要组件:

REST API:与流水线协同工作的接口。

Web UI:用于流水线API的可视化接口。

启动器(Launcher):设置环境并执行Shell命令的工具。

执行引擎(Execution Engine):可插拔的构建执行器,支持在容器(Jenkins、Kubernetes、Mesos、Docker Swarm)内执行命令。

数据存储(Datastore):可插拔的NoSQL存储,用于维护流水线配置数据(DynamoDB、MongoDB、CouchDB、Postgres)。执行引擎和数据存储都使用了可插拔的架构,使得用户可按自身意向选用引擎。

现在Yahoo!已开源了该持续集成工具的一个精简版本,并有计划在未来的一个月内添加上一些未发布的组件,其中包括:保存可供后续使用的元数据、采集指标、分析日志,以及用于设置和执行流水线的模板。

本文转自d1net(转载)

相关文章
|
3月前
|
分布式计算 DataWorks 关系型数据库
MaxCompute 生态系统中的数据集成工具
【8月更文第31天】在大数据时代,数据集成对于构建高效的数据处理流水线至关重要。阿里云的 MaxCompute 是一个用于处理大规模数据集的服务平台,它提供了强大的计算能力和丰富的生态系统工具来帮助用户管理和处理数据。本文将详细介绍如何使用 DataWorks 这样的工具将 MaxCompute 整合到整个数据处理流程中,以便更有效地管理数据生命周期。
123 0
|
5月前
|
人工智能 开发者
您使用过哪些AI集成工具提升工作效率
【6月更文挑战第13天】您使用过哪些AI集成工具提升工作效率
|
3月前
|
小程序 开发者
微信开发者工具如何集成SVN、同时解决集成SVN无效果的问题
这篇文章介绍了如何在微信开发者工具中集成SVN版本控制系统,并提供了解决集成后无效果问题的方法。
微信开发者工具如何集成SVN、同时解决集成SVN无效果的问题
|
2月前
|
缓存 数据可视化 jenkins
推荐2款实用的持续集成与部署(CI&CD)自动化工具
推荐2款实用的持续集成与部署(CI&CD)自动化工具
177 1
|
3月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
33 3
|
3月前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
3月前
|
存储 Prometheus 监控
Prometheus 的扩展与集成
【8月更文第29天】Prometheus 是一款非常强大的监控系统,它不仅能够采集和存储时间序列数据,还提供了丰富的生态系统来扩展其功能。本文将介绍如何通过自定义 Exporters 和集成中间件(如 Thanos)来扩展 Prometheus 的能力。
58 0
|
4月前
|
jenkins 测试技术 持续交付
探索自动化测试的边界:从工具选择到持续集成
【7月更文挑战第30天】自动化测试在软件开发生命周期中扮演着越来越重要的角色,它不仅提高了测试效率,还确保了软件质量的稳定性。然而,自动化测试并非一劳永逸的解决方案,它需要精心规划、选择合适的工具,并持续地集成到开发流程中。本文将探讨如何根据项目需求挑选合适的自动化测试工具,以及如何将这些工具无缝集成到持续集成/持续部署(CI/CD)流程中,以最大化自动化测试的效益。
35 2
|
3月前
|
Kubernetes 监控 Shell
在K8S中,我们公司用户反应pod连接数非常多,希望看一下这些连接都是什么信息?什么状态?怎么排查?容器里面没有集成bash环境、网络工具,怎么处理?
在K8S中,我们公司用户反应pod连接数非常多,希望看一下这些连接都是什么信息?什么状态?怎么排查?容器里面没有集成bash环境、网络工具,怎么处理?
|
5月前
|
人工智能 自然语言处理 数据挖掘
利用AI集成工具提升工作效率的实践经验
随着人工智能技术的蓬勃发展,以及当今数字化快速发展的时代,人工智能的运用已经渗透到各个行业和工作领域中,大语言模型在自然语言处理领域的应用也愈发广泛,而且市面上涌现出一批AI集成工具,比如Langchain、Dify、llamaIndex、fastgpt、百炼等,它们为开发者提供了强大的支持和便利,极大地提升了AI模型的构建和管理效率。作为一名热衷于利用新技术提高工作效率的开发者,我也积极尝试将这些工具融入到我的日常工作中,以期望提升工作效率和质量,下面我将分享我是如何使用AI集成工具来提升工作效率的,以及实践经验和心得。
212 1
利用AI集成工具提升工作效率的实践经验