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

92
Jenkinsfile vendored
View File

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