type
Post
status
Published
slug
2019/08/18/1566110182025
summary
自动化部署学习之——自动化部署概述
tags
工具
Linux
运维
category
Linux
icon
password
new update day
Property
Oct 22, 2023 01:31 PM
created days
Last edited time
Oct 22, 2023 01:31 PM
1-自动化部署概述
1.1 业务流程
- 运维标准化,ITIL
- 自动化安装-Cobbler
- 监控体系-Zabbix
- 配置管理-SaltStack
- 自动化代码部署
- 日志平台-ELKStack
1.2 目前的代码手动部署
- 纯手工 scp
- 纯手工登录git pull,svn update
- 纯手工 xftp 往上拉
- 开发给一个压缩包,rz上去、解压
缺点:
- 全程运维参与,占用大量时间
- 上线速度慢
- 人为失误多。管理混乱
- 回滚慢,不及时
1.2 规划
1.2.1 环境的规划
- 开发环境-开发者本地有自己的环境,然后运维需要设置的开发环境,大家公用的服务。例如:开发数据库 mysql,其它:redis、Memcached
- 测试环境:功能测试环境和性能测试环境
- 预生产环境:生产环境集群中的某一个节点担任。
- 生产环境:直接对用户提供服务的环境。
预生产环境产生的原因:
- 数据库不一致:测试环境和生产环境数据库肯定是不一致的。
- 使用生产环境的联调接口。例如,支付接口。
1.2.2 设计生产自动化部署系统
已经有一个可以上线的代码在代码仓库。我们如何设计一套生产自动化部署系统。
- 规划
- 实现
- 总结和扩展。PDCA
- 在生产环境应用
- 一个集群有十个节点。
- 实现,一键部署这10个节点
- 一键回滚到任意版本
- 一键回滚到上个版本
部署、回滚
部署:
- 代码在那儿:svn、git。
- 获取什么版本代码?
- 直接拉取某个分支
- 拉去版本号(svn)拉取指定tag
- 差异解决:
- 各个节点直接差异
- 配置文件未必一样
- crontab.xml
- 预生产节点
- 代码仓库和实际的差异
- 配置文件是否存在代码仓库中
- 配置文件只在部署上有。
- 单独的项目
- (所有的数据库用户名密码、只有运维知道、设置一个 config.sample 文件,部署的时候进行替换。)
- 如何更新
- java tomcat。需要重启
- 测试。
- 串行和并行(根据需要、分组部署)
- 如何执行
- shell ./执行
- web 界面
欢迎加入“喵星计算机技术研究院”,原创技术文章第一时间推送。
- 作者:tangcuyu
- 链接:https://expoli.tech/articles/2019/08/18/1566110182025
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章