java互联网应用自动化部署问题

大家好,关于java互联网应用提高部署效率的问题想请教一下。

项目源码及版本管理使用git、构建使用maven,测试、生产环境都是linux。

目前每次更新,我先用maven打war包,然后将war包交给测试、运维人员,他们上传war包至测试、生产环境。

觉得现在部署方式虽然职责清楚,但效率不高,我在想是不是可以把git、maven装到测试、生产环境上,然后写个shell脚本,脚本主要做这些事情
1、git代码同步
2、maven编译打war包
3、停止tomcat,
4、删除旧的项目
5、拷贝新war包至tomcat
6、启动tomcat
这样的话每次更新就一个命令搞定。

大家看这个思路可以吗?有没有兄弟使用过这种方式啊

阅读 4.1k
4 个回答

完全可行。

不过注意一点:第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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题