jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第四话):把war包远程部署到tomcat
上一节介绍了如何用Ant插件来打war包,本节接着介绍如何把build好的war自动部署到tomcat中
1.先安装 Deploy to container Plugin插件
2. 在构建后操作中添加操作步骤
字面意思把war包放到一个容器中,可以把它理解为jenkins到war包的存放路径去拿打好的war包,然后把包放到目标容器
具体配置如下:
- WAR/EAR files:填写war包在jenkins工作空间中的存放路径
工作空间是指当前构建任务的工作空间,要把当前构建任务构建好的war包部署到目标服务器的tomcat中,
所以这里填写相对工作空间的路径即可,例如当前任务输出的war包如下
所以这里可以填写 output/*.war
也可以按照帮助提示按照如下方式写
-
Context path:一般填写包名即可,就是在部署好后访问系统时的路径(和tomcat热部署时的一个选项类似)
可以自己任意定义,这里填写的是“helloworld”
部署好后,可以访问如下url
“http://192.168.57.129:8088/helloworld”
注意:context path填写的是什么,就可以在url后加上对应的后缀进行访问 -
Containers:先Add Container,选择一个tomcat,注意版本要和目标主机中安装的tomcat版本一致;
配置Containers之前,我们先要进行目标tomcat的tomcat-users.xml的配置,打开目标tomcat的tomcat-users.xml,在文件底部添加如下内容:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<user username="hello" password="123456" roles="manager-gui,admin-gui,manager-script"/>
记住username 和 password
然后打开jenkins的 Credentials配置,添加一个认证账号,添加的认证账号密码需要和tomcat-users.xml中定义的username 和 password一致,不然会导致认证失败,无法部署到目标tomcat
多说一句,这个username 和 password其实就是设置的tomcat后台的Manager App的登录账号
而一般进行tomcat热部署时,就是进入到Manager APP中进行(tomcat热部署方式:https://www.cnblogs.com/hanmk/p/8698182.html)
所以是不是可以这样理解,jenkins远程部署tomcat,也是获取目标tomcat的管理权限,进行热部署
最后在Credentials处选择刚刚创建的账号,在Tomcat URL处填写目标tomcat所在服务器地址(注意端口号不要填错)
http://192.168.57.129:8088/
到此就全部配好了,点击【立即构建】看看效果;以后每次开发提交代码后,只需点一下构建,即可看到修改效果,无需再手动部署了(当然也可以配置每隔一定时间自动去构建)