用maven插件和docker实现快速部署和更新web项目
背景
部署一个web项目的常规步骤:
- mvn 打包
- 拷贝到服务器的tomcat目录下
- 重启tomcat
总是这么做,一定会觉得比较繁琐。
于是在maven有款插件tomcat7-maven-plugin
,把打包和部署结合一在起。
只需要运行mvn tomcat7:deploy
就可以把项目打包到服务器端。免去拷贝文件与重启。
我经常要做一些 web项目验证,每次可以这么便捷,就会让自己流程上顺畅。
与docker结合在一起,一次配置多个tomcat,可以验证多个tomcat版本之前的差别,最重要的是快。
使用方法
构建镜象
1 |
|
会输出管理员的账号与密码
运行docker
1 |
|
创建web项目
在web项目 pom.xml文件的增加
1 |
|
上面的(password)替换成之前构建镜象输出的密码
(serverip:port)替换成实际映射的ip和端口
1 |
|
就可以把web项目部署到tomcat 上
注意事项
- 如果不想在pom中写密码,可以写在settings文件中。
- 如果总出现上传到一半就失败了,找找增加update参数。找找nginx是不是对上传文件大小有限制。
- 如果工程有多个子工程,记得
mvn install
之后再打包,不然不会用最新的代码的。有次我就被这样坑了。
如果是nginx 转发,记得把nginx 的配置加好
1 |
|
- 有时候会出现nginx 会报错
client intended to send too large body
,需要在加client_max_body_size 100m;
。
原理
这个插件就是用的tcomat的manager工程提供的上传 web应用接口操作的。
用maven插件和docker实现快速部署和更新web项目
https://blog.fengcl.com/2017/05/25/use-tomcat7-maven-plugin-deploy-web-project-in-docker/