jenkins用流水线Pipeline构建maven项目实例

82 阅读1分钟
node {
    
    def workspace = pwd()
    def gitUrl="https://gitee.com/y_project/RuoYi.git"
    def gitBranch="master"
    def mavenPath="/app/jenkins/apache-maven-3.8.1"
    
    def subp = ['ruoyi-common','ruoyi-system','ruoyi-framework','ruoyi-quartz','ruoyi-generator','ruoyi-admin']
    def path="${workspace}"
    
    def deployPath="/app/jenkins/ry"
        
        
    stage('代码检出'){
        echo "git:${workspace}"
        checkout([$class: 'GitSCM', branches: [[name: "*/${gitBranch}"]], extensions: [], userRemoteConfigs: [[url: "${gitUrl}"]]])
    }
    
    
    for (int i = 0; i < subp.size(); ++i) {
        stage("(${i})mvn编译构建:${subp[i]}"){
            echo "echo subp =${subp[i]}"
            sh "cd ${path}; ${mavenPath}/bin/mvn clean package -pl ${subp[i]} -am"
        }
         
    }
    
    stage("拷贝jar到临时目录"){
        for (int i = 0; i < subp.size(); ++i) {
                echo "【${i}】 echo 上传编译后的包${subp[i]}至jenkins服务器的临时路径"
                sh "mv ${path}/${subp[i]}/target/${subp[i]}*.jar ${deployPath}"
        }
    }


    stage("传送到部署服务器并清理jenkins服务器的目录"){
        //sh "scp -r "
        //sh "scp -r "
        //sh "ssh ${ftp} 'chown -R '"
        //sh "ssh ${ftp} 'chown -R '"
        //sh "rm -rf "
        //sh "rm -rf "
    }






}