Jenkins骚操作第四章构建maven项目和Pipeline流水线项目构建

本文详细介绍了使用Jenkins构建Maven项目的过程,包括自由风格项目、Maven项目和Pipeline项目的配置与操作。从拉取代码、编译打包到部署,每个步骤都有清晰的说明。此外,还探讨了Pipeline的优势,并展示了声明式和脚本式Pipeline的创建,以及Pipeline脚本从源代码控制加载的方法。最后,文章提到了TOMCAT显示乱码问题,但未提供解决方案。

Jenkins构建Maven项目

Jenkins项目构建类型(1)—Jenkins构建项目类型介绍
三种

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

1、Jenkins项目构建类型-自由风格项目构建

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

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

1.1、拉取代码

1、创建项目

在这里插入图片描述

ssh凭证验证

在这里插入图片描述

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

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

cd /var/lib/Jenkins/workspace/web_demo_Freestyle_01/target

在这里插入图片描述

1.3、部署

安装Deploy to container插件

在这里插入图片描述

回到主页,点击右侧的项目—>点击Configure

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

打开tomcat网址

在这里插入图片描述

将发布到tomcat上
在这里插入图片描述

2、Jenkins项目构建类型(3)–Maven项目构建

1、安装Maven Integratio插件(安装后重启Jenkins)

在这里插入图片描述

在这里插入图片描述

2、创建Maven项目

在这里插入图片描述

3、配置项目

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

在这里插入图片描述
在这里插入图片描述刷新tomcat

在这里插入图片描述

3、Jenkins项目构建类型(4)—Pipeline流水线项目构建

Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。

优势

以代码的形式实现,通常被检入源代码控制,使团队能够编辑。持久,可靠性强
可停止,可交互,灵活性强。支持现实世界中复杂的持续交付要求,支持fork/join
循环执行,并行执行的功能。可扩展:支持DSL的自定义扩展在这里插入代码片

如何创建JenkinsPipeline

Pipeline 脚本是由 Groovy 语言实现的,但是我们没必要单独去学习 Groovy 

Pipeline 支持两种语法:Declarative(声明式)和 Scripted Pipeline(脚本式)语法

Pipeline 也有两种创建方法:可以直接在 Jenkins 的 Web UI 界面中输入脚本;也可以通过创建一个 Jenkinsfile 脚本文件放入项目源码库中(一般我们都推荐在 Jenkins 中直接从源代码控制(SCM) 中直接载入 Jenkinsfile Pipeline 这种方法)。
3.1、安装Pipeline插件
manage Jenkins----》manage plugins----->可选插件

在这里插入图片描述
安装完后一定记得重启

在这里插入图片描述

1、安装插件后,创建项目

在这里插入图片描述

1、declarative声明式-pipeline

创建项目

在这里插入图片描述

选择Hello world模板
在这里插入图片描述

生成以下代码

pipeline 
	{ agent any 

	stages {
	   stage('Hello') 
	     { steps {
	       echo 'Hello World'     
             }	 
         }   
     }
}

修改编写以下代码

ipeline 
	{ agent any 

	stages {
	    stage('pull code') { steps 
	        {
		    echo '拉取代码'
	        }     
            }
           stage('build project') { steps 
                {
                     echo 'build project'
                }
            }
           stage('deploy item') { steps 
                {
                     echo 'deploy item'
                }
           }
      }
}

点击构建

在这里插入图片描述

2、scripted pipeline脚本式

返回刚刚创建的文件配置,选择scripted pipeline
在这里插入图片描述

node {
   def mvnHome   
   stage('pull code') {
      echo 'pull code'   
   }   
   stage('build project') {
      echo 'build project'  
   } 
   stage('deploy item') { 
      echo 'deploy item'
    }
}

编写简单的脚本pipeline

在这里插入图片描述

拉取代码

构建结果和声明式一样
注意:此处有语法演示

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

示例步骤选择:Checkout:check out version control
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

回到声明式hello world,回到的方式就是将脚本式内容清空

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

编译构建代码生成

回到刚刚拉取完成的项目,打开configure,继续编辑

示例步骤:sh.shell.script

shell script:mvn clean package
点击生成脚本


在这里插入图片描述

回到helloworld界面,将构建代码写入第二处

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

部署代码生成

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

在这里插入图片描述

最终代码

在这里插入图片描述

4、Pipeline Script from SCM

Pipeline脚本放在项目中

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

TOMCAT显示乱码问题

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

<think> 我们首先回答问题:pipeline流水线Maven构建项目 在持续集成/持续部署(CI/CD)中,使用Jenkins等工具时,我们经常使用pipeline来定义构建、测试部署的流程。当项目使用Maven作为构建工具时,我们可以在pipeline中编写步骤来执行Maven命令。 以下是一个简单的Jenkinsfile示例,用于构建一个Maven项目: ```groovy pipeline { agent any stages { stage('Checkout') { steps { // 从版本控制系统中拉取代码 git 'https://github.com/your-repo/your-project.git' } } stage('Build') { steps { // 使用Maven构建项目 sh 'mvn clean package' } } stage('Test') { steps { // 运行测试(通常构建阶段已经运行了测试,这里可以单独运行测试或跳过) sh 'mvn test' } } stage('Deploy') { steps { // 部署项目,例如将构建好的jar包复制到指定位置或发布到仓库 sh 'echo "Deploying..."' // 实际部署命令,如:scp target/*.jar user@server:/path/ } } } } ``` 注意:上面的示例中,我们假设项目是一个标准的Maven项目,并且Jenkins节点上已经安装了Maven。如果没有,可以在Jenkins中全局配置Maven,或者在pipeline中使用`tools`部分指定Maven版本。 此外,通常我们会将测试阶段包含在构建阶段(因为`mvn package`默认会运行测试),所以上面的示例将测试单独作为一个阶段,实际上可以合并。 §§相关问题§§ 1. 在Jenkins pipeline中,如何配置Maven的安装? 2. 如果需要在不同的阶段使用不同的JDK版本,应该如何设置? 3. 如何避免在每次构建时都下载Maven依赖,以加快构建速度? 4. 在Maven构建过程中,如何跳过测试阶段? 5. 如何将Maven构建的产物(如jar包)存档到Jenkins中? </think> ### Pipeline流水线Maven构建项目 在持续集成(CI)中,使用**Pipeline流水线**结合**Maven**构建项目的核心流程如下: 1. **代码拉取** 从Git/SVN等版本库获取源代码。 2. **依赖解析** Maven根据`pom.xml`自动下载依赖库。 3. **构建阶段** 执行Maven生命周期命令: ```bash mvn clean package # 清理、编译、打包 ``` 4. **测试与报告** 运行单元测试并生成报告: ```bash mvn test ``` 5. **制品管理** 将生成的JAR/WAR包归档到Nexus/Artifactory等仓库。 #### Jenkins Pipeline示例 ```groovy pipeline { agent any tools { maven 'Maven_3.8' } // Jenkins中预配置的Maven工具 stages { stage('Checkout') { steps { git url: 'https://github.com/your-project.git' } } stage('Build & Test') { steps { sh 'mvn clean package' } // 默认包含测试阶段 } stage('Archive Artifact') { steps { archiveArtifacts artifacts: 'target/*.jar' } } } } ``` #### 关键优势 - **原子化构建**:每个阶段独立执行,失败时快速定位问题 - **依赖缓存**:Maven本地仓库(`~/.m2`)可复用依赖 - **可扩展性**:支持并行构建、多环境部署等进阶操作
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值