关于自动化部署平台的尝试
来源:互联网 发布:网络废旧电子产品回收 编辑:程序博客网 时间:2024/05/17 09:35
—前言—
参加过两次公司生产环境的版本更新,最近一次让我萌生了开发一个自动化部署平台的念头。虽然网上也有不少的自动化部署软件,但还是想自己动手写一个。一来是为了让平台更适应当前的实际情况,也利于以后自己对平台通用性的扩展;二来是为了锻炼自己,给自己的空闲时间找点事情做,不至于虚度时光。
以下是整理出的初稿,想到的点比较简单,后面会持续完善。
如果本文有幸被您看到,望能指点一二。
不管是积极的还是消极的,请留下您的看法。
—背景—
程序开发好之后免不了部署。刚开始还好,手动打包、上传、部署,也不需要多长时间。但是随着规模的扩大,版本更新的频繁,以上看似简单的操作会变得越来越繁琐,耗时也会程直线上升。 手动部署的所有操作还不可重用,即每次操作都需要从头开始,浪费时间不说,不可靠和易出错也是显而易见的不足。
因此,能有一套程序帮我们做这个事情势在必行。
自动化部署平台的初衷是最大化的简化部署的步骤,做到“自动化”。而人工只需要做一些简单的配置即可。
—初步设计—
部署内容:
1. Java WEB部署
2. Java进程部署
部署来源:
1. 从版本服务器进行部署
2. 程序包上传部署
部署实现方式:
1. linux下
拟采用java+shell脚本实现
2. windows下
拟采用java+bat批处理脚本实现
—功能整理—
本自动化部署平台需包含一下功能
最终目的:最大化实现只要是通过本平台进行部署的工程,都能通过平台管理其完整的生命过程。其中包括项目的创建,更新,删除,以及项目运行期间的各种日志的抓取和展示。达到部分运维的效果。
a. 从版本服务器(svn/git)上获取最新代码
b. 自动打包(jar、war)
c. 支持程序包(jar、war)的上传
d. 支持工程内部配置文件的修改
e. 根据配置或者脚本自动部署
f. 支持通过平台对部署的工程进行试运行,启用,停止等功能
g. 部署过程中的日志显示
h. 部署完后运行中的日志显示
i. 设置权限系统,不同角色的用户登录平台拥有不同的操作权限
a) 开发人员:
b) 运维人员:
c) 管理人员:
d) 测试人员:
j. 支持数据库的操作(备份/更新/创建/删除)
—现公司部署过程—
192.168.251.234静态资源192.168.251.232前台后台先停前台 再停后台 文件更新 先起后台 再起前台 如果改了后台,前后台都要重启;如果只改了前台,前台重启就可以了(1)停用tomcat服务 cd /dat/www/tomcat7/bin./shutdown.shps -ef|grep tomcat7(2)停止service服务cd /dat/main-mallserver/mall-app/node_1./stop.sh(3)上传jar包的地址:cd /dat/main-mallserver/mall-app/appcd /dat/www/tomcat7/zjmi-erp-trunkcd /data/erp解压:unzip appweb_trunk.zip(4)清理缓存rm -rf /dat/www/tomcat7/work/*rm -rf /dat/www/tomcat7/temp/*(5)分别解压各个zip包:ERP二期存放目录,解压包时按回车键,如果有需要覆盖的文件时则需要输入“A”再回车键;cd /dat/www/tomcat7/zjmi-erp-trunkunzip ROOT.zip unzip zjmiec-api-app.zip(6)启动service服务cd /dat/main-mallserver/mall-app/node_1/app/sh/main_mall_deploy.sh rm -rf /root/.dubborm -rf logs/stdout.logtouch logs/stdout.logchmod -R 777 /datcd /dat/main-mallserver/mall-app/node_1/./start.shtail -f /dat/main-mallserver/mall-app/node_1/logs/stdout.log(7)重启tomcat容器cd /dat/www/tomcat7/bin./startup.shtail -f /dat/www/tomcat7/logs/catalina.out错误日志查看:后台:tail -f /dat/main-mallserver/mall-app/node_1/logs/stdout.log前台:tail -f /dat/www/tomcat7/bin/logs/zjmi-erp-trunk/common-default.log
交流群:453851862
- 关于自动化部署平台的尝试
- 关于自动化部署
- Chukwa的部署尝试
- 跨平台自动化测试部署
- jenkins搭建自动化部署平台
- 关于Jenkins 自动化部署的一点实操心得
- 关于自动化搭建部署测试环境的初想
- 自动化部署的前提
- 关于自动化和流水线监控的WEB平台开发
- 开源Java自动化部署平台JDeploy
- 服务自动化部署平台之Saltstack总结
- Crash Dump自动化分析的尝试
- Wercker 基于DOCKER的CI/CD部署Kubernetes和Microservice的自动化平台,被ORACLE收购,
- 基于 STAF 和 XML 配置文件的跨平台自动化测试部署
- 关于缓冲区溢出的尝试
- 关于可变函数的尝试
- 关于刷新率的设置尝试
- 关于CURL的第一次尝试...
- 堆排序原理及算法实现(最大堆)
- CUDA系列学习(四)Parallel Task类型 与 Memory Allocation
- java自动装箱之Integer
- 使用IntelliJ IDEA开发SpringMVC网站(四)用户管理
- 205. Isomorphic Strings | 判断两个字符串形式是否相同
- 关于自动化部署平台的尝试
- 什么是多线程和多进程【转】
- GYM 100247 I. Meteor Flow(贪心)
- HDU2883kebab(离散化+最大流_任务分配)
- 获取当前时间和星期
- 数据库30条军规解读
- 参数文件GinsengSharedPerferences
- 音视频同步、网络抖动
- 深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0