ansible实现发布、回滚功能
ansible的两篇博客,本来是打算合二为一的,发现只用一篇写,嗯,好鬼长。。。。 一向秉承简单为美的我于是忍痛割爱,一分为二了
ansible实现升级发布、回滚功能
1、应用场景
在实际生产环境中,每天都会更改很多次配置文件,要批量地重启服务 , how ???
机器少可以手动改,再reload一下
5、定义核心任务
vim tasks/main.yml
6、定义总的入口文件 ——》 主机,用户,roles
(2)生效条件:主配置文件打开
include vhosts/*.conf;
(3)执行 ——》 已准备好升级发布
ansible-playbook update.yml ——》 在 nginx_conf 下执行该命令
(4)测试1 ——》 纯启动
(5)测试2 ——》 测restart
(b)ansible-playbook update.yml
(c)web3: cat /usr/local/nginx/conf/vhosts/1.conf
#######################################
(iii)完成回滚功能
web1 做备份
1、cd /etc/ansible/nginx_config/roles
2、rsync -av new/ old/
3、rsync -av new/files/ old/files/
目的:更改 new/files 文件前,先拷贝到 old/files
回滚的时候,就是把 old/files/ 里面的配置再发布一次
旧的还原过来,再重新加载或重启服务
4、进入 nginx_config 目录下
(1)cp update.yml backup.yml
(2)vim backup.yml
5、测试
(1)编辑 roles/new/files/vhosts/1.conf
再加多一行
(2)发布
ansible-playbook update.yml
说明:修改完后nginx重启了
但发现线上服务没有生效,或者出现异常
需要把之前old/files下的配置文件覆盖一下,实现回滚
(3)做回滚前,先验明下(刚刚发布时做的)
(4)回滚来了
ansible-playbook backup.yml
(5)web3现在看只有未发布前的2行,而不是3行了
cat /usr/local/nginx/conf/vhosts/1.conf
最新文章
- 一些sql语句的常用总结(重要)
- WebSocket学习
- 跟着老男孩一步步学习Shell高级编程实战
- 从一开始,说出事java匿名内部类
- 一个挺好用的任务提示小软件 Rainlendar2
- sqlalchemy执行sql语句
- 深入理解 ES6中的 Reflect
- 修正mui的上拉加载和下拉刷新的一次未完成就执行下一次的请求
- Android开发——adb连接夜神模拟器
- Web项目Shiro总结及源码(十六)
- Android SO动态调试之IDA
- React Native 初步
- IDHTTP的基本用法
- 1、pyspider安装
- 微服务之springCloud-docker-feign(四)
- Mysql_Learning_Notes_系统结构_1_数据类型
- solr介绍一:Analyzer(分析器)、Tokenizer(分词器)
- Nodejs统计每秒记录日志数
- 集合框架源码学习之HashMap(JDK1.8)
- 【洛谷P3469】[POI2008]BLO-Blockade