代码拉取完成,页面将自动刷新
pipeline {
agent {
kubernetes {
inheritFrom 'kube-maven'
}
}
triggers {
gitlab(triggerOnPush: true,
triggerOnMergeRequest: true,
branchFilterType: 'All',
secretToken: '9iH0tq33ROMS07przzLiclNmfqSaoIeTOolHYf1E')
}
parameters {
booleanParam(name: "PUSH", defaultValue: true)
}
environment {
GitRepo="http://gitlab.magedu.com/root/spring-boot-helloWorld.git"
HarborServer='hub.magedu.com'
ImageUrl="ikubernetes/spring-boot-helloworld"
ImageTag="latest"
RegistryCredential='harbor-user-credential'
RegistryUrl="https://${HarborServer}"
}
stages {
stage('Source') {
steps {
git branch: 'main', url: "${GitRepo}"
}
}
stage('Build') {
steps {
container('maven') {
sh 'mvn -B -DskipTests clean package'
}
}
}
stage('Test') {
steps {
container('maven') {
sh 'mvn test'
}
}
}
stage("SonarQube Analysis") {
steps {
withSonarQubeEnv('SonarQube-Server') {
container('maven') {
sh 'mvn sonar:sonar'
}
}
}
}
stage("Quality Gate") {
steps {
timeout(time: 30, unit: 'MINUTES') {
waitForQualityGate abortPipeline: true
}
}
}
stage('Build Image') {
steps {
container('dind') {
script {
dockerImage = docker.build("${HarborServer}/${ImageUrl}:${ImageTag}")
}
}
}
}
stage('Push Image') {
when {
expression { params.PUSH }
beforeAgent true
}
steps {
container('dind') {
script {
docker.withRegistry( RegistryUrl, RegistryCredential ) {
dockerImage.push()
}
}
}
}
}
}
post{
always {
subject: "Status of pipeline: ${currentBuild.fullDisplayName}",
body: "${env.BUILD_URL} has result ${currentBuild.result}"
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。