Jenkins 创建自由风格Maven类型和流水线类型的任务,进行项目拉取编译自动部署

Posted 猎人在吃肉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins 创建自由风格Maven类型和流水线类型的任务,进行项目拉取编译自动部署相关的知识,希望对你有一定的参考价值。

文章目录

一、Jenkins构建的项目类型介绍

Jenkins中自动构建项目的类型有很多,常用的有以下3种:

  • 自由风格软件项目(FreeStyle Project)
  • Maven项目(Maven Project)
  • 流水线项目(Pipeline Project)

每种类型的构建其实都可以完成一样的构建过程与结果,只是在操作方式、灵活度等方面有所区别,在实际开发中可以根据自己的需求和习惯来选择。

PS:个人推荐使用 流水线类型 ,因为灵活度非常高。

二、自由风格项目构建

下面演示创建一个自由风格项目来完成项目的集成过程:

拉取代码->编译->打包->部署

1、创建任务

2、源码管理(从Git拉取代码)

选择GIT ,输入仓库地址 、选择Credentials (如果没有要先添加)。

3、构建(包括编译、打包)

菜单选择如下:

添加构建步骤 -> Executor Shell

输入如下内容:

echo "开始编译和打包"
mvn clean package
echo "编译和打包结束"
123

3.1、测试(非必需测试)

查看运行日志,如下图所示。

4、构建后操作(部署)

把项目部署到远程的Tomcat里面。

4.1、检查 Deploy to container 插件

Jenkins 本身无法实现远程部署到Tomcat的功能,需要安装 Deploy to container 插件实现。

(1)检查Deploy to container 插件

检查在增加构建后操作步骤 的选项 中有没有Deploy to container 插件,如果没有,则要先添加 Deploy to container 插件。

(2)在 Manage Plugins(插件管理)中,搜索 Deploy to container

(3)安装完成。

(4)重启。

一定要重启。 访问 http://jenkins地址/restart ,实现重启。

4.2、tomcat配置

(1)tomcat-users.xml 配置用户

apache-tomcat-8.5.56\\conf\\tomcat-users.xml

<role rolename="manager-gui"/>
<user username="jenkins" password="jenkins123" roles="manager-gui"/>

完整配置如下:

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

用户名是 jenkins,密码是 jenkins123 ,按需自定义。

检查tomcat 配置情况,登录 http://127.0.0.1:8080 ,如下图所示。

.png)]

输入用户名和密码

进入应用管理页面,如上所示。

(2)context.xml 去掉访问限制

apache-tomcat-8.5.56\\webapps\\manager\\META-INF\\context.xml 中注释掉配置

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

或者,将 allow的值修改为

allow="127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1"
修改为 
allow="^.*$"

(3)解决 war包过大无法上传

apache-tomcat-8.5.56/webapps/manager/WEB-INF/web.xml

<multipart-config>
    <!-- 500MB max -->
    <max-file-size>524288000</max-file-size>
    <max-request-size>524288000</max-request-size>
    <file-size-threshold>0</file-size-threshold>
</multipart-config>

(4)访问host-manager报403错误

apache-tomcat-8.5.56/webapps/host-manager/META-INF/context.xml

allow="127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1"
修改为 
allow="^.*$"

4.3、构建后操作

1)选择 Deploy war/ear to a container

WAR/EAR files 的值:

target/*.war

2)Containers (添加tomcat)

选择 tomcat8.x Remote

Credentials :tomcat 的用户名和密码(如果没有,则先添加)

tomcat URL 如下:

http://192.168.0.110:8080

5、验证(自由风格任务构建)

5.1、点击"Build Now",开始构建过程

5.2、构建成功

5.3、访问项目

这里我们看到项目已经在 tomcat 中运行了,我们点击这个项目

点击链接,访问项目,如下图。

或者在 webapps中找到 web_demo-1.0-SNAPSHOT

cd /data/software/apache-tomcat-8.5.69/webapps

访问 http://192.168.0.110:8080/web_demo-1.0-SNAPSHOT ,成功!

6、持续集成

6.1、修改代码

6.2 、Push到仓库

7、验证

7.1、在 Jenkins 点击构建

7.2、日志显示,已经部署成功

7.3、访问项目,如下图所示,说明部署成功!

8、用户凭证

添加全局用户凭证的操作。

(1)菜单链接操作如下:

Manage Credentials --> 全局 --> 添加凭据

(2)根据需要,选择 Username with password ,输入 tomcat 的账号和密码。

三、Maven项目构建

1、安装 Maven Integration插件

安装完成。

2、构建Maven任务

2.1、创建Maven任务

创建 web_demo_maven

2.2、源码管理

拉取代码和远程部署的过程和自由风格项目一样

2.3、Build(构建)

Build(构建)与 自由风格项目 不一样。

如果有子项目的目录,则填入:

子项目名称/pom.xml

Goals and options(目标和选项),填入:

clean package

Build(构建)完整配置如下图所示。

2.4、构建后操作

3、验证

3.1、构建项目

3.2、构建完成

3.3、访问

以上是关于Jenkins 创建自由风格Maven类型和流水线类型的任务,进行项目拉取编译自动部署的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins 创建自由风格Maven类型和流水线类型的任务,进行项目拉取编译自动部署

Jenkins 创建自由风格Maven类型和流水线类型的任务,进行项目拉取编译自动部署

Jenkins——Jenkins 构建Maven项目(三种风格的项目构建自由风格Maven风格Pipeline流水线风格)

Jenkins构建自由风格的项目

持续集成环境-Jenkins构建自由风格项目

Jenkins构建Maven项目