fix: 恢复tools配置,使用Jenkins自动安装的Maven

- 恢复tools配置,使用Maven-3.9.6自动安装
- 简化环境检测,信任Jenkins工具管理
- 移除动态Maven命令检测
- 确保使用标准mvn命令
This commit is contained in:
wangtianqi 2025-06-23 20:20:30 +08:00
parent fff588cdec
commit 76e1b34f4a

80
Jenkinsfile vendored
View File

@ -17,46 +17,18 @@ pipeline {
// Docker相关环境变量
IMAGE_NAME = 'jenkins-demo'
IMAGE_TAG = "${BUILD_NUMBER}"
// SonarQube配置
SONAR_HOST_URL = 'http://116.62.163.84:15010'
SONAR_PROJECT_KEY = 'jenkins-demo'
SONAR_TOKEN = 'squ_7e4217cabd0faae6f3b8ee359b3b8e2ac52eb69a'
}
// 移除tools配置改用node内部的检测和安装
// 使用Jenkins中配置的工具自动安装
tools {
maven 'Maven-3.9.6' // 使用您在Jenkins中配置的Maven名称
// JDK使用容器中已有的不需要额外配置
}
stages {
stage('环境设置') {
steps {
echo '🔧 设置构建环境...'
script {
// 在node内部设置环境变量
env.WORKSPACE_PATH = pwd()
// 检测并设置Java环境
try {
sh 'java -version'
echo '✅ Java环境检测成功'
} catch (Exception e) {
echo '⚠️ 使用系统默认Java环境'
}
// 检测并设置Maven环境
try {
sh 'mvn -version'
echo '✅ Maven环境检测成功'
} catch (Exception e) {
echo '⚠️ Maven未检测到使用./mvnw'
env.MVN_CMD = './mvnw'
}
if (!env.MVN_CMD) {
env.MVN_CMD = 'mvn'
}
}
}
}
stage('Checkout') {
steps {
echo '🔄 开始检出代码...'
@ -71,33 +43,41 @@ pipeline {
echo "📋 Git提交ID: ${env.GIT_COMMIT_SHORT}"
}
}
stage('环境检查') {
} stage('环境检查') {
steps {
echo '🔍 检查构建环境...'
script {
sh '''
echo "Java版本:"
echo "=== Java版本 ==="
java -version
echo "Maven版本:"
mvn -version
echo "Git版本:"
git --version
'''
}
}
echo "=== Maven版本 ==="
mvn -version
echo "=== Git版本 ==="
git --version
echo "=== 工作目录 ==="
pwd && ls -la
'''
// 设置Maven命令
env.MVN_CMD = 'mvn'
echo "✅ 构建环境检查完成Maven命令: ${env.MVN_CMD}"
}
}
}
stage('编译') {
steps {
echo '🔨 开始编译项目...'
sh "${env.MVN_CMD} clean compile -DskipTests=true"
sh "mvn clean compile -DskipTests=true"
}
}
stage('单元测试') {
steps {
echo '🧪 运行单元测试...'
sh "${env.MVN_CMD} test"
sh "mvn test"
}
post {
always {
@ -124,10 +104,9 @@ pipeline {
stage('代码质量扫描') {
steps {
echo '🔍 运行SonarQube代码扫描...'
script {
try {
script { try {
sh """
${env.MVN_CMD} sonar:sonar \
mvn sonar:sonar \
-Dsonar.projectKey=${SONAR_PROJECT_KEY} \
-Dsonar.host.url=${SONAR_HOST_URL} \
-Dsonar.login=${SONAR_TOKEN} \
@ -141,11 +120,10 @@ pipeline {
}
}
}
stage('打包') {
steps {
echo '📦 开始打包应用程序...'
sh "${env.MVN_CMD} package -DskipTests=true"
sh "mvn package -DskipTests=true"
}
post {
success {