码迷,mamicode.com
首页 > 编程语言 > 详细

持续集成之 Jenkins 通过 Deploy 插件热部署 java 程序(九)

时间:2018-08-30 10:59:59      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:目录   51cto   .com   str   分享图片   操作   tar   role   oca   

一、背景

看过我 Jenkins 系列博文的同学应该知道,之前的 java 程序是通过 ssh 发布到服务器上面的,通过的是 shell 脚本,但是有些时候,我们并没有服务器的权限,只有对应 tomcat 的管理权限,直接通过 tomcat 的管理控制台发布 war 包程序,这也叫做热发布,发布过程中不需要重启 tomcat。

具体该如何操作,请往下看。

二、tomcat 配置

1、开启管理用户

  • tomcat 默认没有这样的用户,需要在TOMCAT_HOME/conf/tomcat-users.xml添加manager-script组和相应的用户,增加如下几行:

    <role rolename="manager-script"/>
    <user username="wzlinux" password="wzlinux" roles="manager-script"/>
    <role rolename="manager-gui"/>
    <user username="wzadmin" password="wzlinux" roles="manager-gui"/>
  • 或者为了简便,直接弄一个权限很大的账号,比如下面:
    <role rolename="manager"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="admin"/>
    <user username="wzlinux" password="wzlinux" roles="admin,manager,manager-script,manager-gui"/>

注:配置好后需要重启Tomcat才能生效。

2、登陆 tomcat 后台

只有角色是manager-gui的用户才有管理后台的权限,而 Jenkins 的部署只需要角色为manager-script即可。

访问我们的内网服务器地址 http://10.0.0.11:8081/manager ,输入账号密码登陆查看。

技术分享图片

我们可以看到正在运行的项目,我们可以通过undeploy来删除,然后通过我们下面的方法进行部署。

技术分享图片

三、Jenkins 配置

1、下载插件

下载插件Deploy to container

技术分享图片

2、添加 Deploy 构建

打开我们之前的 wenjuan 项目,在构建后操作选择Deploy war/ear to a container

技术分享图片

3、配置 deploy 构建

技术分享图片

技术分享图片

WAR/EAR files:是 war 包的相对路径(相对于工作区路径,即在工作区中 war 包的相对路径),如我的 maven 执行完成之后会在工作区的 target 目录下生成项目 .war,所以这里我的路径就写 target\项目.war。
Content path:tomcat 的发布路径,即使用 localhost/(content path设置的名字)来访问项目。
Containers:选择 Tomcat 7.x,Credentials 添加我们上面 tomcat 添加的用户,Tomcat URL 即为我们正常访问 tomcat 的页面的地址。
Deploy on failure:是发生错误的时候是否发布到tomcat。

四、测试结果

1、查看构建日志

通过日志可以看到部署成功。
技术分享图片

2、查看服务器

技术分享图片

3、查看 tomcat 后台

技术分享图片

没有任何问题,热部署成功。

持续集成之 Jenkins 通过 Deploy 插件热部署 java 程序(九)

标签:目录   51cto   .com   str   分享图片   操作   tar   role   oca   

原文地址:http://blog.51cto.com/wzlinux/2166241

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!