大家好,关于java互联网应用提高部署效率的问题想请教一下。
项目源码及版本管理使用git、构建使用maven,测试、生产环境都是linux。
目前每次更新,我先用maven打war包,然后将war包交给测试、运维人员,他们上传war包至测试、生产环境。
觉得现在部署方式虽然职责清楚,但效率不高,我在想是不是可以把git、maven装到测试、生产环境上,然后写个shell脚本,脚本主要做这些事情
1、git代码同步
2、maven编译打war包
3、停止tomcat,
4、删除旧的项目
5、拷贝新war包至tomcat
6、启动tomcat
这样的话每次更新就一个命令搞定。
大家看这个思路可以吗?有没有兄弟使用过这种方式啊
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
完全可行。
不过注意一点:第4步建议修改下,不要删,而是通过重命名的方式来切换新旧项目,以便部署出问题的时候快速回滚。
持续集成,DevOps
安利一下我的开源项目JDeploy:https://github.com/wucao/JDeploy
这个工具的功能和你说的完全一样:
1、去代码托管平台(SVN/GIT)拉代码
2、重新mvn package打包
3、重启服务器(目前支持Jetty)
首先需要新建一个项目,填上项目名称、Maven相关的参数(profile、module)、git相关的参数(git地址、branch),服务器相关参数(端口号、ContextPath):

创建完成后直接点部署,就帮你完成了一系列操作:

稍等一会儿,正在部署中:

OK,成功了:

还可以查看控制台日志:

代码更新后,提交到git/svn上,再重新部署就OK了。
请试一试jenkins