Browse Source

更新Jenkinsfile

傅志强 4 years ago
parent
commit
8a34a35882
1 changed files with 35 additions and 11 deletions
  1. 35 11
      Jenkinsfile

+ 35 - 11
Jenkinsfile

@@ -3,9 +3,11 @@
 
 def build = new org.devops.build()
 def color = new org.devops.color()
+def systemtime = new org.devops.systemtime()
 
 def String cpu = "${env.cpu}"
 def String imagePrefix = "${env.imagePrefix}"
+def String buildImage = "${env.buildImage}"
 
 pipeline {
     agent {
@@ -20,25 +22,47 @@ pipeline {
 
     //设定2个参数,根据项目类型不同,修改对应的description name value visibleItemCount  defaultValue 即可
     parameters {
-        extendedChoice description: '请选择CPU架构.可单选/多选/全选', multiSelectDelimiter: ',', name: 'cpu',
-                       quoteValue: true,
-                       saveJSONParameterToFile: false,
-                       type: 'PT_CHECKBOX',
-                       value: 'x86,arm64',
-                       visibleItemCount: 5
-        string defaultValue: 'bus.ga/jzywb/approve/', description: '请填写打的镜像通用前缀名称,注意最后面要加 / ', name: 'imagePrefix', trim: false
+        choice choices: ['false', 'true'], description: '是否需要打镜像包,默认为否', name: 'buildImage'
+        extendedChoice description: '只有在需要打镜像包的情况下,才需要选择CPU架构。可单选/多选/全选', multiSelectDelimiter: ',', name: 'cpu',
+                quoteValue: true,
+                saveJSONParameterToFile: false,
+                type: 'PT_CHECKBOX',
+                value: 'x86,arm64',
+                visibleItemCount: 5
+        // 需修改对应的镜像名称
+        string defaultValue: 'bus.ga/jzywb/dcuc/', description: '只有在需要打镜像包的情况下,才需要填写要打镜像通用前缀名称,注意最后面要加 / ', name: 'imagePrefix', trim: false
     }
-    stages{
+    stages {
         stage('MAVEN-BUILD') {
             steps {
                 script {
-                    color.PrintMes('执行mvn打包','green')
+                    color.PrintMes('执行mvn打包', 'green')
                     //使用mvn方法打包,并传入打包参数.根据实际情况修改打包策略
-                    build.Build('mvn','mvn clean package -DskipTests=true','master')
+                    build.Build('mvn', 'mvn clean deploy -DskipTests=true', 'master')
                 }
             }
+            post {
+                success {
+                    script {
+                        version = build.GetMvnParentVersion()
+                        systime = systemtime.GetSysTime('yyMMdd')
+                        //将打出来的tar包,按照命名规范命名。根据实际情况,修改对应的系统简称和区域标识(APPROVE-CORE-SERVICE-TJDSJ)
+                        sh """cd approve-core-service/target
+                            cp approve-core-service-*.tar.gz APPROVE-CORE-SERVICE-TJDSJ-${version}-${env.GIT_COMMIT.take(8)}-BETA-${systime}.tar.gz
+                        """
+                        //将复制的按照命名规范的tar包提取到Jenkins的面板,方便下载。根据实际情况,修改对应的系统简称和区域标识(APPROVE-CORE-SERVICE-TJDSJ)
+                        archiveArtifacts artifacts: 'approve-core-service/target/APPROVE-CORE-SERVICE-TJDSJ-*.tar.gz'
+                    }
+                }
+            }
+
         }
         stage('DOCKER-BUILD') {
+            when {
+                expression {
+                    return (buildImage  == 'true')
+                }
+            }
             steps {
                 script {
                     //将cpu架构和模块名称传入方法打镜像包.若在上面定义的参数名称没变,可不修改
@@ -49,7 +73,7 @@ pipeline {
     }
     //构建后的操作,用来显示结果.所有项目都适用,可不改
     post {
-          success {
+        success {
             wrap([$class: 'BuildUser']) {
                 script {
                     currentBuild.description = "Start By ${env.BUILD_USER} And Build Success"