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
这样的话
每次更新就一个命令搞定。
大家看这个思路可以吗?有没有兄弟使用过这种方式啊
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
楼主,你好,根据你的情况
建议使用jenkins持续集成自动化部署工具,集成git + maven + tomcat/resin(等web服务器),web服务这边可以自己编写服务器脚本,如tomcat,到对应bin目录,sh shutdown.sh 关闭,然后替换webapps下的war包,再 sh startup.sh,编写对应的脚本执行即可
有相应的问题,也可以私信我,之前搭过相似的自动化部署环境,希望可以帮到你
推荐使用ansiable,写一次脚本,搞定所有
你要的是 jenkins + 流程控制。我司内部的就是我写的,在 jenkins 外套个壳,做流程控制。主要控制,什么人在什么时间可以往哪些服务器发布哪些工程,以及做下一个操作之前,当前操作的结果需要由谁来审核通过。
运维的未必会学什么git
我觉得用SVN省心且把控好点。
持续集成Jenkins,你值得拥有
看我的博客 就知道了
可以尝试使用持续集成
例如:Jenkins
https://jenkins.io/
在服务器上写代码?这也太不规范了吧。
回复
正如你说的··效率···不但有svn 还有编译器··直接写代码 tomcat 测试····· 所以我认为效率和规范两者只能选一
有啊···如果小项目是可以这样的····在服务器上写了一年代码的人路过