Jenkins+maven+Git实现源码的部署和发布

一、安装必须的插件
  1. Git 插件,拉取源码使用
  2. deploy插件,发布应用到Tomcat时使用
二、Jenkins全局配置(Global Tool Configuration)

在【Manage Jenkins】- 【Global Tool Configuration】中配置Maven、Jdk、Git等。界面如下:
在这里插入图片描述

  1. Maven Configuration

    配置Maven,选择自己安装的Maven,并配置对应的setting.xml路径。
    在这里插入图片描述

  2. JDK
    配置JDK安装路径即可,名字可以自定义。
    在这里插入图片描述

  3. Git
    默认配置即可。
    在这里插入图片描述

  4. Maven安装配置
    在这里插入图片描述

三、创建流水线项目
  1. 创建项目
    点击【首页】- 【New Item】,进入创建项目页面,填写名称,选择“Freestyle project”,然后点击“OK”操作,进入下一步操作。
    在这里插入图片描述

  2. 项目General配置
    在这里插入图片描述

  3. Source Code Management
    这一步需要先安装Git插件,否则不会出现Git选项,安装插件的步骤这里不再重复。这里选择Git,然后配置Git代码库路径,然后新增Credentials,没有创建的话,可以通过“Add”添加即可。在这里插入图片描述

  4. Build配置
    配置通过Maven构建项目的命令。
    在这里插入图片描述

  5. Post-build Actions配置
    这里是配置需要发布到的Tomcat。首先需要安装deploy插件,不然没有“Deploy war/ear to a container”选项。
    在这里插入图片描述
    首先需要配置Tomcat管理员用户,即在tomcat-users.xml配置文件中,增加如下配置:

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

然后重新启动该Tomcat。通过浏览器访问,如下图所示。

注:该Tomcat不是部署Jenkins的Tomcat。

在这里插入图片描述
配置Deploy war/ear to a container相关参数,如下图所示:
其中,War/EAR files指的是maven构建之后的路径,Context path指的是发布后的访问路径,Container指的是web服务器,Manager user name 指的是tomcat的管理用户名,Manager password是Tomcat管理员密码,Tomcat URL指Tomcat的访问的根目录。

在这里插入图片描述

四、构建项目

通过【My Views】选择指定的流水线项目,进入到该项目中,如下图所示。
在这里插入图片描述
然后,点击【Build Now】开始构建项目,这个时候会出现新的构建记录, 如下图所示,通过“Console Output”可以查看,构建日志。

注:构建记录,红色表示构建识别,蓝色构建成功,闪烁状态表示正在构建中。

在这里插入图片描述
在这里插入图片描述

五、异常记录

1. ERROR: Error cloning remote repo 'origin’
在这里插入图片描述
一般都是Git 用户密码不正确造成的。

2. Server returned HTTP response code: 403 for URL: http://xxxx

该错误存在两种可能性:
1、上述提到的Tomcat管理员用户权限不够
2、远程的Tomcat没有开启远程发布的权限。
第一种情况,按照上述得修改即可。第二种情况,根据下面方式修改:
1>、修改tomcat /webapps/manager/META-INF/context.xml的文件,
把下列内容

	<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>

改成下面内容即可:

<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>

参考文档:《The username you provided is not allowed to use the text-based Tomcat Manager (error 403) when deploying on remote Tomcat8 using Jenkins》

3. No valid crumb was included in the reques
Jenkins在http请求头部中放置了一个名为.crumb的token。在使用反向代理时,如果Jenkins设置中勾选了“Prevent Cross Site Request Forgery exploits”,代理服务器会认为.crumb为非法头部而去掉,导致跳转失败。
解决方案:
在Jenkins全局安全设置中取消勾选“Prevent Cross Site Request Forgery exploits”,如下图:
在这里插入图片描述
4. FAIL - Deployed application at context path /jeesite-icity but context failed to start
  当使用Jenkins进行构建的时候报这个错误, 一般是因为代码本身有问题, 可以把Jenkins打好的包放到本地容器中进行验证。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姠惢荇者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值