Skip to content

Jenkins - Maven 设置

Apache Maven 是一个广泛使用的构建自动化和项目管理工具,主要用于 Java 项目。Jenkins 提供了出色的 Maven 集成。

Jenkins 需要访问 Maven 安装才能构建 Maven 项目。你有两个主要选项:

  • 选项 A:预安装 Maven: 在 Jenkins controller 和将运行 Maven 构建的任何 agent 上手动安装 Maven。确保设置了 M2_HOME 或 MAVEN_HOME 环境变量,并且 Maven 的 bin 目录在系统 PATH 中。
  • 选项 B:Jenkins 自动安装(推荐): 让 Jenkins 自动下载和管理 Maven 安装。

手动下载 Maven(如果选择选项 A):

  1. 访问 Apache Maven 官方下载页面:https://maven.apache.org/download.cgi
  2. 下载二进制存档(例如,apache-maven-X.Y.Z-bin.zip 或 tar.gz)。
  3. 将存档解压到合适的位置(例如,/opt/maven 或 C:\Tools\Maven)。这就是你的 MAVEN_HOME。
  4. 可选地,将 MAVEN_HOME/bin 添加到系统的 PATH 环境变量中。

告诉 Jenkins 在哪里找到 Maven 安装或配置自动安装。

  1. 导航到“管理 Jenkins” → “全局工具配置”。
  2. 向下滚动到“Maven”部分。
  3. 点击“新增 Maven”。
  4. 名称: 给此 Maven 安装一个描述性名称(例如,Maven 3.8 或 Default Maven)。此名称在 Pipeline 配置中使用。
  5. MAVEN_HOME: 如果你已预安装 Maven(选项 A),在此处输入 MAVEN_HOME 目录的路径。不要勾选“自动安装”。
  6. 自动安装: 如果你想让 Jenkins 管理安装(选项 B),勾选此框。从下拉列表中选择一个安装程序(通常是“从 Apache 安装”),并选择所需的 Maven 版本。
  7. 如果需要配置多个 Maven 版本,重复点击“新增 Maven”。
  8. 点击“保存”。

步骤 3:在 Pipeline 作业中使用 Maven

Section titled “步骤 3:在 Pipeline 作业中使用 Maven”

构建 Maven 项目的推荐方法是使用 Jenkins Pipeline (Jenkinsfile)。

pipeline {
agent any // Or agent { label 'maven-agent' }
tools {
// Specify the Maven installation configured in Global Tool Configuration
maven 'Maven 3.8' // Use the name you defined
jdk 'JDK 11' // Also specify JDK if needed
}
stages {
stage('Checkout') {
steps {
git url: 'your-repo-url', branch: 'main'
}
}
stage('Build') {
steps {
echo 'Building with Maven...'
// Jenkins ensures the configured Maven is in the PATH
// Use 'mvn' directly
sh 'mvn clean package'
}
}
stage('Test') {
steps {
echo 'Running tests...'
sh 'mvn test'
}
post {
always {
// Publish test results
junit 'target/surefire-reports/**/*.xml'
}
}
}
// Optional: Stage for deploying artifacts
// stage('Deploy Artifact') {
// steps {
// // Example: Deploy to Nexus/Artifactory
// // Requires configuration in pom.xml and settings.xml
// // sh 'mvn deploy'
// }
// }
}
}

说明:

  • tools 代码块: 指定哪些预配置的工具(来自全局工具配置中的名称)应在此 pipeline 的 PATH 中可用。
  • sh 'mvn ...': 执行标准的 Maven 命令。Jenkins 确保使用 tools 代码块中指定的正确 Maven 版本。

步骤 4:在自由风格作业中使用 Maven(旧版)

Section titled “步骤 4:在自由风格作业中使用 Maven(旧版)”

虽然推荐使用 Pipeline,但你仍然可以使用自由风格作业:

  1. 创建一个新的“自由风格项目”或配置一个现有的项目。
  2. 配置源代码管理(例如,Git)。
  3. 在“构建”部分,点击“新增构建步骤”。
  4. 选择“调用顶层 Maven 目标”。
  5. Maven 版本: 选择你在全局工具配置中配置的命名 Maven 安装。
  6. 目标: 输入要执行的 Maven 目标(例如,clean package、test、deploy)。
  7. POM: 指定 pom.xml 文件的路径(通常是根目录下的 pom.xml)。
  8. 属性/选项: 添加任何必要的 Maven 属性(-Dkey=value)或 JVM 选项。
  9. 根据需要添加构建后操作(例如,“发布 JUnit 测试结果报告”、“归档制品”)。
  10. 点击“保存”。

如果你的构建需要自定义 Maven 设置(例如,代理配置、私有仓库镜像、用于部署的服务器凭据),你需要提供一个 settings.xml 文件。

  • Config File Provider Plugin: 安装此插件。转到“管理 Jenkins” → “管理文件”。新增一个“Maven settings.xml”文件,粘贴你的设置内容,并给它一个 ID。
  • Pipeline: 使用 withMaven 包装步骤提供设置文件:
  • withMaven(mavenSettingsConfig: 'your-settings-file-id') { sh 'mvn deploy' }
  • 自由风格: 在“调用顶层 Maven 目标”步骤中,点击“高级”并选择配置好的设置文件。

适当的 Maven 集成使 Jenkins 能够可靠地构建、测试和打包你的 Java 应用程序。