1、在IDEA中打开你的Web应用,点击一下绿色三角形左边的框框,然后在弹出框上选择Edit Configurations,会弹出一个配置面板。
2、在弹出的面板中我们点击Defaults,然后找到Tomcat Server并点击。
3、紧接着我们点击右边的绿色加号,会有一个Add New Configuration的弹出框。我们将鼠标移到Tomcat Server上,然后选择Local选项,这里我们是将项目部署到本地服务器上。
4、然后给服务取个名称,名称随意取都可,例如我们这里取名boot,然后配置一下服务器(位置),以及访问的网址。
5、接下来,点击Deployment选项,再点击右边绿色加号,然后选择Artifacts,在弹出框中我们看到有两个war选项,我们选择下面一个。
6、这样我们会看到Deloy at the server startup下面会显示刚才选择的war包,接着点击右下角OK按钮。
7、最后,点击下图中的绿色小三角就可以将应用程序跑气来了。
"
如何实现tomcat自动化部署?
作为公司运维人员,每天tomcat正式环境和测试环境部署上线浪费了大量时间,每次无非就是备份替换重启,有时候开发一个小问题都会导致自己加班2到3个小时,等他们解决问题上线后才能下班,所以想问的是怎么样可以实现tomcat的自动化部署?比如做一个web页面,每一个更新都要求开发说明,然后上传更新文件,后台根据文件名查询自动备份替换,然后开发选择是否进行重启,整个过程都有日志记录。请问,怎么可以实现?谢谢。
像BAT这样的大公司,都是有一套自动化流水线的,出于公司安全红线要求,我无法讲的太细,但是我可以提供些思路给题主参考。
工具
工欲善其事,必先利其器,我们先来说需要哪些工具
1 git,用于保存最新要上线的代码
2 maven,用于打包项目
3 Jenkins,用于触发任务
4 sh脚本或者Python脚本,执行Jenkins任务的脚本
流程
接下来是实际的流程。
首先,由开发人员把要上线的代码上传到指定代码库。
然后,开发人员触发Jenkins任务。
这个Jenkins的任务是自动化部署的核心,包含以下步骤
1 开始对代码进行打包
2 把包放到服务器指定文件夹下
插一句,为了安全起见,我们建议的是进行热部署,何为热部署?
热部署需要Nginx+多台Tomcat的配合。
假设目前只有一台Tomcat连接到了Nginx上,那么可以把要更新的代码部署在另一台Tomcat上,然后启动新的Tomcat,确认该服务启动成功,各能力已经启动后,再去修改Nginx的conf文件,把原本给旧Tomcat的请求切到新Tomcat上,这样就实现了热部署。如果不使用这种办法,而是直接在旧的Tomcat上部署新的war包的话,重启Tomcat的过程,就会有几秒停服,这对用户来说是不可接受的。既然说到这里,再介绍两个热部署用到的Nginx的命令。在修改Nginx的conf文件后,要在Nginx的根目录下执行sbin/nginx -t 来检查当前conf文件配置是否正确,如果是“successful”的,就可以执行sbin/nginx -s reload来进行实现把新的流量切到新的机器上,即使新的conf文件生效。
好的,关于热部署的部分说完了,我们再说回来。
3 将旧的服务器根目录下的war包用cp命令放到一个专门备份的文件夹下
4 将新的war包同样用cp命令放到即将启动的Tomcat根目录下的webapps文件夹下,然后解压
5 执行sh bin/
start.sh
启动新的Tomcat
6 检查该Tomcat是否启动成功,包括进程存在,tail -f
catalina.out
日志一直在打,api能够调通
7 修改Nginx的conf文件
8 检查Nginx配置文件是否successful
9 更新Nginx配置,即sbin/nginx -s reload
10 继续观察新Tomcat是否运行正常,如果不正常则立刻切回原Tomcat,本次自动更新失败
11 如果正常,则停止旧的Tomcat。
以上,自动化部署完成。
我是苏苏思量,来自BAT的Java开发工程师,每天分享科技类见闻,欢迎关注我,与我共同进步。