持续集成之 Jenkins 通过 Deploy 插件热部署 java 程序(九)
2018-08-29 23:52
991 查看
一、背景
看过我 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-Docker-SpringBoot-java-git-gradle-持续集成与自动部署-实现跨服务器部署
- 持续集成(jenkins)中的持续发布配置.(Deploy to container Plugin插件)
- Java开发流程自动化(svn+maven+nexus+jenkins) --自动编译,持续集成,测试,打包,发布/部署
- JAVA项目如何通过Docker实现Jenkins持续部署
- Java开发流程自动化(svn+maven+nexus+jenkins) --自动编译,持续集成,测试,打包,发布/部署
- 持续集成jenkins部署
- Jenkins+Maven进行Java项目持续集成
- Linux服务器下Jenkins+Ant+Tomcat+SVN实现持续集成和部署配置方法
- 将maven项目部署到nexus的repository maven项目,可以通过maven的deploy插件,将之部署到远程服务器上,这样,该项目的artifact,就可以被其他项目通过pom的dep
- Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记
- Jenkins+Maven进行Java项目持续集成
- Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记(1)
- 用Jenkins+Gradle+Jetty实现持续集成、测试、部署
- centos下部署jenkins持续集成环境
- 95、Jenkins部署.net持续集成自动化测试环境
- 持续集成+持续部署(二)基于Jenkins 快速搭建持续集成环境
- 通过JAVA编写DOMINO服务器端插件程序
- Redhat上为java Maven项目构建基于Jenkins + Github的持续集成环境
- Jenkins的持续集成及自动化部署在测试和生产环境中的运用系列
- 搭建持续集成单元测试平台(Jenkins+Ant+Java+Junit+SVN)