jenkins流水线自动构建配置

pipeline {
    agent any
    
    tools {
        jdk 'jdk8'
    }
    
    environment {
        harborUser = "admin"
        harborPassword = "Harbor12345"
        harborAddress = "harbor地址"
        harborRepo = "仓库名"
        jobName = "打好的docker镜像名"
    }

    stages {
        
        stage('check') {
            steps {
                checkout scmGit(branches: [[name: '*/分支名']], extensions: [], userRemoteConfigs: [[credentialsId: 'gitlab-login-user', url: 'gitlab地址']])
            }
        }
        
        stage('mvn') {
            steps {
                sh 'mvn clean package -DskipTests'
            }
        }
        
        stage("SonarQube analysis") {
            steps{
                withSonarQubeEnv('SonarQube10.6') {
                    sh 'sonar-scanner -Dsonar.projectKey=要扫描的工程 -Dsonar.projectName=工程名 -Dsonar.projectVersion=1.0.0 -Dsonar.language=java -Dsonar.modules=模块名 -D模块名.sonar.projectName=模块名 -D模块名.sonar.sources=src -Dhntt-模块名.sonar.projectBaseDir=模块根路径 -Dsonar.java.binaries=target'
                }
            }
        }
        
        stage('docker') {
            steps {
                sh '''
                cd dockerfile文件所在目录
                docker build -t ${jobName}:${date} .'''
            }
        }
        
       
        stage('harbor') {
            steps {
                sh '''
                docker login -u ${harborUser} -p ${harborPassword} ${harborAddress}
                docker push ${jobName}:${date}
                '''
            }
        }
        
        
    }
}
posted @   猝死的路上  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示