53 lines
1.9 KiB
Groovy
53 lines
1.9 KiB
Groovy
pipeline {
|
|
agent any
|
|
parameters {
|
|
// 提供要部署的环境选项
|
|
choice(
|
|
description: '你需要选择哪个环境进行部署 ?',
|
|
name: 'env',
|
|
choices: ['开发环境', '测试环境', '线上环境']
|
|
)
|
|
// 提供构建的模块选项
|
|
choice(
|
|
description: '你需要选择哪个模块进行构建 ?',
|
|
name: 'moduleName',
|
|
choices: ['api_gateway', 'business_service', 'data_collect_service', 'file_center', 'flowable_center', 'td_service', 'user_service', 'vpp_service', 'xxl_job', 'xxl_job_admin']
|
|
)
|
|
|
|
environment {
|
|
GIT_CREDENTIALS_ID = 'gitlab_majun' // GitLab 凭证 ID
|
|
SONARQUBE_SERVER = 'sonarqube' // SonarQube 凭证 ID
|
|
MAVEN_HOME = tool(name: '/app/maven') // 使用jenkins容器内映射的maven路劲
|
|
}
|
|
stages {
|
|
stage('Checkout') {
|
|
steps {
|
|
script {
|
|
// GitLab repository URL and branch (edit these as needed)
|
|
def gitRepositoryUrl = 'http://192.168.100.250:7000/fanchunlei/hocloud-open.git'
|
|
def gitBranch = 'main'
|
|
|
|
// 拉取代码
|
|
git url: gitRepositoryUrl,
|
|
branch: gitBranch,
|
|
credentialsId: GIT_CREDENTIALS_ID
|
|
}
|
|
}
|
|
}
|
|
stage('SonarQube Analysis') {
|
|
steps {
|
|
withSonarQubeEnv(SONARQUBE_SERVER) {
|
|
// 使用 Maven 进行 SonarQube 扫描
|
|
sh "${MAVEN_HOME}/bin/mvn clean verify sonar:sonar -Dsonar.projectKey=fanchunlei_hocloud-open_AZMjkNEoXxgoDCEPS1yf""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
always {
|
|
// 清理工作区
|
|
cleanWs()
|
|
}
|
|
}
|
|
}
|