102 lines
3.4 KiB
Plaintext
102 lines
3.4 KiB
Plaintext
@Library("devops") _
|
|
def build = new org.devops.Build()
|
|
pipeline {
|
|
agent {label "build01"}
|
|
options {
|
|
skipDefaultCheckout true
|
|
}
|
|
stages {
|
|
stage('Checkout') {
|
|
steps {
|
|
script{
|
|
// 下载代码
|
|
currentBuild.description = "BranchName: ${env.branchName}"
|
|
checkout scmGit(branches: [[name: "${env.branchName}"]],
|
|
extensions: [],
|
|
userRemoteConfigs: [[
|
|
credentialsId: '1f5dd05c-9c82-47da-a96d-79e28bdc2377',
|
|
url: "${env.srcUrl}"]])
|
|
}
|
|
}
|
|
}
|
|
stage('Build'){
|
|
steps{
|
|
script{
|
|
//构建阶段
|
|
build.Build()
|
|
}
|
|
}
|
|
}
|
|
stage('UniTest'){
|
|
when {
|
|
environment name: 'skipUnitTest',value: 'false'
|
|
}
|
|
steps{
|
|
script{
|
|
// 单元测试
|
|
build.UniTest()
|
|
}
|
|
}
|
|
}
|
|
stage('CodeScan'){
|
|
steps{
|
|
script{
|
|
//代码扫描
|
|
|
|
//withCredentials([usernamePassword(
|
|
// credentialsId: 'be40ed93-4404-4242-a95b-25ed974be409',
|
|
// passwordVariable: 'PASSWORD',
|
|
// usernameVariable: 'USERNAME')]) {
|
|
// sh "sonar-scanner -Dsonar.login=${USERNAME} -Dsonar.password=${PASSWORD}"
|
|
//}
|
|
withSonarQubeEnv(credentialsId: '4cd3f9f5-d675-4c85-b1c9-54329bed4902') {
|
|
sh """
|
|
sonar-scanner -Dsonar.login=${SONAR_AUTH_TOKEN} -Dsonar.projectVersion=${env.branchName} -Dsonar.branch.name=${env.branchName}
|
|
"""
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
stage('PushArtifacts'){
|
|
steps{
|
|
script{
|
|
// 上传制品
|
|
def repoId="devops"
|
|
def targetDir="devops/${JOB_NAME}/"
|
|
def pkgPath="target"
|
|
|
|
def POM = readMavenPom file:'pom.xml'
|
|
env.artifactId = "${POM.artifactId}"
|
|
env.packaging = "${POM.packaging}"
|
|
env.groupId = "${POM.groupId}"
|
|
env.art_version = "${POM.version}"
|
|
|
|
pkgName = "${env.artifactId}-${env.art_version}.${env.packaging}"
|
|
PushNexusArtifact(repoId,targetDir,pkgPath,pkgName)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
def PushNexusArtifact(repoId,targetDir,pkgPath,pkgName){
|
|
withCredentials([
|
|
usernamePassword(
|
|
credentialsId: '4df0140e-023c-4b64-983d-6a2054e74228',
|
|
passwordVariable: 'PASSWORD',
|
|
usernameVariable: 'USERNAME'
|
|
)
|
|
]) {
|
|
sh """
|
|
curl -v -u ${USERNAME}:${PASSWORD} \
|
|
-X POST \
|
|
"http://192.168.0.160:8081/service/rest/v1/components?repository=${repoId}" \
|
|
-H "accept: application/json" \
|
|
-F "raw.directory=${targetDir}" \
|
|
-F "raw.asset1=@${pkgPath}/${pkgName}" \
|
|
-F "raw.asset1.filename=${pkgName}"
|
|
"""
|
|
}
|
|
}
|