自动化部署--shell脚本--1

传统部署方式
一、纯手工scp
二、纯手工登陆git pull 、svn update
三、纯手工xftp往上拉
四、开发给打一个压缩包,rz上去。解压java

 

传统部署缺点:
一、全程运维参与,占用大量时间
二、上线速度慢。
三、认为失误多。管理混乱
四、回滚慢,不及时mysql

 

新项目上线,规划排在第一位
通常银行都不提供测试接口。好比一些电商公司测试的话,常常把商品调节成1分,只能特定帐号能看到。git

环境的规划
一、开发环境-开发者本地有本身的环境,而后运维须要设置的开发环境,放的是你们共用的服务。如开发数据库mysql,其它:redis、Memcached。
二、测试环境:功能测试环境和性能测试环境
三、预生产环境:通常能够用生产环境中的某个节点担任
四、生产环境:直接对用户提供服务的环境web

预生产环境产生的缘由:
一、数据库不一致:测试环境和生产环境数据库确定不同的。
二、使用生产环境的联调接口。例如,支付接口redis

 

预生产环境--生产环境--灰度发布
 
灰度发布:
阿里云产品上线,都是一个区一个区上的。确定不是一会儿都上的
qq弹窗:恭喜你得到某某版本资格,请下载新版本享用,你就是小白鼠,这个也是一种灰度发布

 

规划
已经有一个能够上线的代码在代码仓库。咱们如何设计一套生产自动化部署系统。
一、规划
二、实现
三、总结和扩展。PDCA
四、在生产环境应用

 

自动化部署系统的规划
 
需求: 
1个集群有10个节点。一键部署这10个节点。
二、一键回滚到任意版本
三、一键回滚到上个版本

 

部署:sql

一、代码放在哪里:svn,git
二、获取什么版本代码?
svn+git直接拉去某个分支
svn:指定版本号
git:指定tag
三、差别解决:
(1)、各个节点直接差别:
(2)、代码仓库和实际的差别。配置文件是否在代码仓库中
(3)、配置文件未必同样:crontab.xml预生产节点
四、如何更新。java tomcat。须要重启。
五、测试。
六、串行和并行 分组部署
7如何执行。(1)shell执行。(2)web界面shell

 

关于配置文件存放:
配置文件放代码仓库里,岂不是全部开发都能连数据库了。
所以配置文件不能放git里。
有的人把配置文件放某个分支里。让一些人无法看到
我以为能够单独有个放配置文件的git

 

腾讯蓝鲸:我帮你作个平台,你写个脚本,我帮你发布到某个机器上,你经过平台帮你执行
一些公司如今的运维,无论任何发布,都是作好界面,让项目负责人去经过界面管理

 

关于差别文件:数据库

可能有些节点有特殊的差别性文件
 
 
自动化部署流程设计

相关文章
相关标签/搜索