keyfil/草稿/Jenkinsfile
liuxiaohua c749442ac8
All checks were successful
Publish to Confluence / confluence (push) Successful in 2h25m31s
[2025-03-03] 添加Jenkins结合Jacoco实现覆盖率报告
2025-03-03 14:41:50 +08:00

48 lines
2.1 KiB
Groovy

pipeline {
agent any
// options {
// ansiColor('xterm')
// }
// properties([parameters([gitParameter(branch: '', branchFilter: '.*', defaultValue: '*/master', name: 'buildBranch', quickFilterEnabled: false, selectedValue: 'NONE', sortMode: 'NONE', tagFilter: '*', type: 'GitParameterDefinition')])])
tools {
maven: 'MavenInner'
}
parameters {
// string(name: 'BRANCH_NAME', defaultValue: 'main', description: '请输入要构建的分支名称')
gitParameter(branch: '', branchFilter: '.*', defaultValue: '*/master', name: 'buildBranch', quickFilterEnabled: false, selectedValue: 'NONE', sortMode: 'NONE', tagFilter: '*', type: 'GitParameterDefinition')
}
environment {
GIT_CREDENTIALS = credentials('your-gitlab-credentials-id')
GIT_URL='ssh://git@git.keyfil.com:9922/qifu-gateway/keycloak-justauth.git'
}
stages {
stage('Checkout') {
steps {
echo "正在从 GitLab 拉取 ${params.BRANCH_NAME} 分支的代码..."
// git credentialsId: "${GIT_CREDENTIALS}", url: 'https://gitlab.com/your-repo.git', branch: "${params.BRANCH_NAME}"
git branch: "${params.buildBranch}", credentialsId: '1', url: "${GIT_URL}"
}
}
stage('Maven Build') {
steps {
echo "开始执行 Maven 构建..."
sh 'mvn clean test jacoco:report -Daliyun=*'
}
}
stage('Generate Coverage Report') {
steps {
echo "使用 Git Forensics 统计代码变更..."
discoverGitReferenceBuild referenceJob: 'Jacoco测试', targetBranch: '$referenceJob'
recordCoverage qualityGates: [[criticality: 'NOTE', metric: 'MODULE'], [baseline: 'MODIFIED_FILES', criticality: 'NOTE', metric: 'FILE'], [baseline: 'MODIFIED_LINES', criticality: 'NOTE', metric: 'LINE']], tools: [[parser: 'JACOCO']]
}
}
}
post {
success {
echo "构建成功!"
}
failure {
echo "构建失败,请检查日志。"
}
}
}