DevOps架构实践
1. 场景
- 需要频繁的发布更新
- 部署规模较大,人工操作费时费力易出错
- 规范化上线部署流程和配置规范

2. 实践
- 开发提交代码到Git仓库
- 自动或手动触发持续集成,执行编译、打包、单元测试、代码扫描等过程,并构建出可部署的程序文件,上传测试的SVN库
- 测试人员手动触发Jenkins调用Rundeck从测试的SVN库中获取部署文件并部署到测试环境
- 测试人员进行产品验证
- 测试人员在验证通过后,申请发布到生产环境,并手动触发Jenkins,将测试的SVN库中的部署文件上传到运维的SVN库
- 运维人员触发Rundeck,从运维的SVN库中获取部署文件并更新到生产环境
- 集群的部署采用分步更新,先发布到线上集群里的某一个节点进行更新测试,测试通过后把这个节点加入集群,再更新其他节点
- 发布成果的版本采用时间戳的形式
3. 工具
- Jenkins:用作发布任务的触发,实现发布的持续化
- SVN:发布成果的版本管理工具,实现发布内容的可追踪、易回滚
- Rundeck:用Java/Grails实现的开源自动化部署工具,帮助用户在数据中心或者云环境中自动化各种操作和流程。通过命令行或者web界面,用户可以对任意数量的服务器进行远程操作,大大降低了对服务器自动化的门槛。
4. 效果
- 提升应用变更效率,包括速率和成功率
- 实现部署自助化,开发、测试均可完成相应环境的发布
原文出自:
http://udn.yyuap.com/forum.php?mod=viewthread&tid=30567&typeid=343
DevOps架构实践的更多相关文章
- DevOps企业实践与架构
原文地址:http://www.sohu.com/a/112351816_355140 什么是DevOps及其误区 DevOps概念从2009年提出已有8个年头.可是在8年前的那个时候,为什么DevO ...
- 基于 Docker 的微服务架构实践
本文来自作者 未闻 在 GitChat 分享的{基于 Docker 的微服务架构实践} 前言 基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 D ...
- DEVOPS落地实践分享
DEVOPS落地实践分享 转载本文需注明出处:微信公众号EAWorld,违者必究. 引言: DevOps的理念已经说了很多年,其带来的价值逐渐被接受,很多企业也逐渐引入了DevOps.目前普元DevO ...
- 互联网研发效能之去哪儿网(Qunar)核心领域DevOps落地实践
本文从业务目标角度出发,确定了开源+自建模式搭建 Qunar 研发工具链整体生态:通过 APPCODE 打通工具链,流程规范化自动化:多种手段+发布门禁助力质量提升:建立应用画像确定运维最小单元,可发 ...
- DevOps落地实践点滴和踩坑记录-(2) -聊聊平台建设
很久没有写文章记录了,上一篇文章像流水账一样,把所见所闻一个个记录下来.这次专门聊聊DevOps平台的建设吧,有些新的体会和思考,希望给正在做这个事情的同学们一些启发吧. DevOps落地实践点滴和踩 ...
- Windows平台分布式架构实践 - 负载均衡(下)
概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...
- 大型网站系统架构实践(五)深入探讨web应用高可用方案
从上篇文章到这篇文章,中间用了一段时间准备,主要是想把东西讲透,同时希望大家给与一些批评和建议,这样我才能有所进步,也希望喜欢我文章的朋友,给个赞,这样我才能更有激情,呵呵. 由于本篇要写的内容有点多 ...
- 大型网站系统架构实践(六)深入探讨web应用集群Session保持
原理 在第三,四篇文章中讲到了会话保持的问题,而且还遗留了一个问题,就是会话保持存在单点故障, 当时的方案是cookie插入后缀,即haproxy指负责分发请求,应用服务自行保持用户会话,如果应 用服 ...
- Windows平台分布式架构实践负载均衡
Windows平台分布式架构实践 - 负载均衡 概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Li ...
随机推荐
- POJ 3168 Barn Expansion (几何+排序)
题目链接:id=3168">POJ 3168 Barn Expansion 题意:抽象出来就是给出n个矩形的坐标是(左下角和右上角的坐标,矩形的边都是平行x,y轴),问有几个矩形和其它 ...
- 查看linux系统外网ip命令
终端中输入 curl ipinfo.io 或者 curl ifconfig.me 即可通过IP地址检测网站提供的api获得取本机的外网IP,或者以 JSON 格式返回全部结果.
- VC++ GetSafeHwnd()和GetSafeHandle()
GetSafeHwnd()和GetSafeHandle()的主要区别: 使用者不同: (1)窗体使用:GetSafeHwnd()用于获取窗体的安全句柄(即HWND),有了HWND我们就可以方便的对HW ...
- VC++ 监视文件(夹)
参考:http://www.cnblogs.com/fangkm/archive/2009/03/31/1426526.html WinFileSystemMonitor.h C++ Code 1 ...
- 在Sql2000 sql2005 sql2008 下已能实现事务复制的强制订阅,但请求订阅始终不能实现总有下列错误提示
硬件环境 : 一台服务器 安装了 sqlserver2008 数据库 局域网还有一台机器 安装了 sqlserver2000数据库 两台server 通信 共享均没有问题 同步过程中遇到的问题 : ...
- 编程之美 set 12 快速找出故障机器
题目 1. 所有的 ID 都出现 2 次, 只有一个例外, 找到那个例外的 ID 2. 所有的 ID 都出现两次, 只有两个例外, 找出例外的那两个 总计 1. 剑指 offer 上有这两道题的解法, ...
- 搭建jsp运行环境
一:搭建jsp服务器端运行环境的步骤: a,下载并按照JDK(JavaDevelopmentKit),这其中就包含了编译器,虚拟机,类库:. b,配置操作系统的环境变量PATH; 补充:编辑变量 添 ...
- [LintCode] 第一个错误的代码版本
/** * class VersionControl { * public: * static bool isBadVersion(int k); * } * you can use VersionC ...
- HDFS编程
HDFS编程主要API Hadoop类 功能 org.apache.hadoop.fs.FileSystem 一个通用文件系统的抽象基类,可以被分布式文件系统继承.所有的可能使用Hadoop文件系统的 ...
- POJ 2374 Fence Obstacle Course(线段树+动态规划)
Fence Obstacle Course Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 2524 Accepted: ...