项目代码

   jenkins自动打包部署流水线

 流水线设计

  jenkins自动打包部署流水线

#!groovy

//下载源码
String srcUrl = "${env.srcUrl}"
String branchName = "${env.branchName}"


//打包
String buildType = "${env.buildType}"
String buildShell = "${env.buildShell}"


pipeline {

    agent {
      node {
          label 'master'
      }
    }
    
    stages {
       stage('GetCode') {
            steps {
              script {  
                 checkout([$class: 'GitSCM', branches: [[name: '${branchName}']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'gitlab', url: '${srcUrl}']]])
              }
            }
        }
        
       stage('Build') {
            steps {
              script {  
                  mvnhome = tool "M2"
                  sh "${mvnhome}/bin/mvn ${buildShell}"
                  
                   jarName = sh returnStdout: true, script: "cd target && ls *.jar"
                   jarName = jarName - "\n"
                   sh "cp target/${jarName}  /root"
                   
              }
            }
        }
        
        stage('Test') {
            steps {
              script {  
                println("dan'yuan单元ce'shi")
              }
            }
        }
        
        stage('Deploy') {
            steps {
              script {  
                println("ansible bu shu......")
                sh "java -jar /root/${jarName}"
              }
            }
        }
        
    }
}
View Code

相关文章: