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(转载)

时间: 2024-09-06 06:54:46

Yahoo! Screwdriver:可扩展的持续集成工具的相关文章

Hudson:持续集成工具的安装、使用

Hudson简介 http://hudson-ci.org      以其强大的功能和易用的界面征服了大量的用户,它与主流的构建工具.版本控制系统以及自动化测试框架都能进行很好的集成.      很多组织和公司选择它作为自己的持续集成工具,如 http://hudson.jboss.org/hudson https://grid.sonatype.org/ci/     Hudson还有一个优秀之处就是它提供了灵活的插件扩展框架,大量开发者基于这种机制对Hudson进行了扩展. 安装Hudson

以持续集成工具实现DevOps之禅

作为DevOps流程中的一个重要组成部分,持续集成(CI)的目标是对开发团队的代码进行集成,包括代码的构建.单元测试与集成测试的执行,以及生成执行结果的报表等等.CI使开发团队无需将时间浪费在处理代码冲突的问题上,因此很多人将其视为敏捷软件开发的奠基石. CI与持续部署(CD)过程通常是紧密联系在一起的.CD过程通过在管道中定义的步骤将由CI过程所生成的结果部署至集成.预发布乃至生产环境中.由于整个CD过程是"持续的",因此一旦有代码签入源代码控制系统,后续过程就会自动进行测试.对代码

scit 0.21发布 简单的持续集成工具

scit是Simple Continuous Integration Tools的缩写,是一个简单的持续集成工具,用来建立和一个自动测试系统组成的Perl和预期脚本的利用,适用于大多数的Unix操作系统的常用工具.其设计目的是在提供了一整套功能的同时还保持它独特轻巧的特性,目前的版本带有一个命令行的用户界面和部分HTML用户界面.它能够运行在最最进的硬件上,一部份的开发和测试已经在诺基亚N900手机的同一单元上运行. scit 0.21版本修复了试图阻止本地slaves所造成的错误.svn_sc

Jenkins 2.62 发布,可扩展的持续集成引擎

Jenkins 2.62 已发布,Jenkins 是一个可扩展的持续集成引擎,提供了数百个插件来支持项目的构建.部署和自动化. 本次更新如下: 修复了许多 CLI 命令(delete-builds,list-changes,console,set-build-description 和 set-build-display-name)的 Pipeline 兼容性,以及当使用 Pipeline 时其他命令报错的一些问题.(issue 30785, issue 41527) 如果你已经安装并配置了"A

持续集成工具之Hudson

一.什么是持续集成 持续集成的核心概念 CI 过程会经常构建软件组件:在许多情况下,每当源代码存储库(比如 Subversion 或 ClearCase)中的代码发生变化时,都要构建软件组件.CI 的好处是:经常构建软件可以确保尽早遇到问题(比如代码缺陷),避免问题在软件开发周期晚期变复杂时才被发现. 工具与过程 尽管 CI 实际上是一个过程,但是持续集成 这个词常常与一个或多个工具相关联.在本教程中,讲解如何安装.配置和使用 Hudson 作为 CI 服务器,但是要记住,CI 远不只是个工具.

scit 0.20发布 简单的持续集成工具

scit是Simple Continuous Integration Tools的缩写,是一个简单的持续集成工具,用来建立和一个自动测试系统组成的Perl和预期脚本的利用,适用于大多数的Unix操作系统的常用工具.其设计目的是在提供了一整套功能的同时还在保持它独特的轻巧特性,目前的版本带有一个命令行的用户界面和部分HTML用户界面.它能够运行上最modest的硬件上,一部份的开发和测试已经在诺基亚N900手机的同一单元上运行. scit 0.20版本添加了启动脚本的调试开关,其功能是让后台进程能

TeamCity 2017.1.2 发布,持续集成工具

TeamCity 2017.1.2 发布了. TeamCity 是一款功能强大的持续集成(Continue Integration)工具,包括服务器端和客户端,目前支持 Java,.Net 项目开发. TeamCity 提供一系列特性可以让团队快速实现持续集成:IDE 工具集成.各种消息通知.各种报表.项目的管理.分布式的编译等等,所有的这些都是让你的团队快速享有持续继承带来的效率提升.高质量的软件保障. 部分更新内容: Feature TW-46594 - 检测并向管理员报告不正确的代理服务器

持续集成(CI)工具------Hudson/Jenkins(Continuous Integration)安装与配置详解

本文允许转载,但请标明出处:http://blog.csdn.net/wanghantong/article/40985653/, 版权所有 文章概述: 一. 描述了持续集成工具Hudson的安装与配置 二. 描述了Git .Maven环境的安装与配置 三. 描述了扩展邮件通知及其配置方法 四. 描述了jira的配置 一.Hudson简介 Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控持续的软件版本发布/测试项目 下载地址:http://eclipse.org

如何破局CI工具拉锯战:探寻中小企业的持续集成之路

摘要:随着持续集成技术的不断成熟,各种持续集成相关的开源和商用软件层出不穷,但是对于中小型企业的技术团队而言,往往在进行持续集成实践时会陷入工具之间的拉锯战.那么,对于中小团队而言,如何才能实现高效敏捷的持续集成方案?2017苏州云栖大会云效专场上,南京路特CTO.阿里云MVP戚俊结合实践经验为大家分享了中小团队持续集成之路. 以下内容根据演讲视频以及PPT整理而成. 虽然持续集成的概念已经火了很长时间了,但是因为各个企业的规模以及业务类型都不同,所以在持续集成中遇到的问题也各不相同.本次将结合