欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)

程序员文章站 2024-01-12 19:58:46
...

记一次通过jenkins部署到linux上的tomcat服务器

在linux上安装tomcat8

首先登陆apache tomcat官网下载tomcat压缩包
记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)
为了以后方便使用,解压后将apache-tomcat-8.5.47中的内容复制到/usr/local/tomcat8目录中。
记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)
修改conf/tomcat-user.xml


<role rolename="manager"/>   
<role rolename="manager"/>   
<role rolename="manager-gui"/>   
<role rolename="admin"/>   
<role rolename="admin-gui"/>   
<role rolename="manager-script"/>  
<user username="admin" password="admin" roles="admin-gui,admin,manager-gui,manager,manager-script"/>

其中admin-gui是为了能访问manger的界面,manager-secret是为了可以部署war文件。需要注意的是tomcat9不能同时赋予manager-script和manager-gui角色。

修改conf/Catalina/localhost/manager.xml
如果没有创建一个。

<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager">  
	<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />  
</Context> 

继续修改/webapps/manager/META-INF/context.xml,注释掉value里内容

<Context antiResourceLocking="false" privileged="true" >
    <!--
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
    -->
</Context>

启动tomcat

sh tomcat8/bin/startup.sh

此时tomcat已经可以通过ip地址而非localhost或127.0.0.1来访问manager页面了。
记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)此时要注意防火墙问题,需要开放防火墙端口才可以从外部通过ip访问。我是为了跑通流程直接用的iptables -F清除防火墙规则。

记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)此时tomcat已经准备就绪了。

在Jenkins中新建项目

新建一个项目,这里选择*风格或maven项目都可以,我选择的是*风格的。名字无所谓,尽量一样。
记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)
配置svn,这里要注意路径是pom.xml所在路径,而不是仓库路径。
记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)
记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)
这里使用手动访问的方式模拟钩子程序触发构建
记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)
构建maven操作
记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)

构建后操作,这里找的是工作区根目录为基准的相对路径
可以先在maven中执行一次打包,找到target/xxx.war复制过来名称
下面填入tomcat地址和用户
记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)
然后保存就可以了。

创建maven工程测试

记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)
修改程序,提交到svn版本库中。
记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)
提交
记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)
手动访问TOKEN
记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)
回到jenkins页面中可以看到自动进行构建了。
记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)
构建部署成功,访问linux服务器上的tomcat地址。
记一次通过jenkins部署到linux上的tomcat服务器(模拟svn钩子程序)

参考资料

Tomcat7&8manager 管理端配置及远程访问manager

tomcat开启远程管理Manager

tomcat7, tomcat8的进入manager, tomcat_user.xm配,以及如何配置远程访问

解决linux由于防火墙导致tomcat访问不了