Refactor java jobs 19/59319/2
authorGary Wu <gary.i.wu@huawei.com>
Tue, 7 Aug 2018 01:48:02 +0000 (18:48 -0700)
committerGary Wu <gary.i.wu@huawei.com>
Tue, 7 Aug 2018 05:22:17 +0000 (22:22 -0700)
Change-Id: I33de2951f249c5d5816c2b2ab1512c0c5b0c5b4f
Issue-ID: CIMAN-187
Signed-off-by: Gary Wu <gary.i.wu@huawei.com>
jjb/global-macros.yaml
jjb/global-templates-java.yaml
jjb/vfc/vfc-nfvo-driver-vnfm-svnfm-root.yaml

index 1f751da..2bf008e 100644 (file)
             - docker.pull.registry=nexus3.onap.org:10001
             - docker.push.registry=nexus3.onap.org:10003
 
-- builder:
-    name: maven-docker-push-daily-test
-    builders:
-      - maven-target:
-          maven-version: '{maven-version}'
-          pom: '{pom}'
-          goals: 'clean deploy -B -P {mvn-profile}'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-          properties:
-            - docker.pull.registry=nexus3.onap.org:10001
-            - docker.push.registry=nexus3.onap.org:10003
-
 - builder:
     name: docker-login
     builders:
index 03653d8..29a5c29 100644 (file)
@@ -1,5 +1,5 @@
 ---
-- job-template:
+- job-template: &verify_java_defaults
     # Job template for Java verify jobs
     #
     # The purpose of this job template is to run:
@@ -14,6 +14,7 @@
     concurrent: true
     node: '{build-node}'
     pattern: '**'
+    pom:
 
     properties:
       - infra-properties:
@@ -53,6 +54,7 @@
           settings-file: '{mvn-settings}'
       - maven-target:
           maven-version: '{maven-version}'
+          pom: '{obj:pom}'
           goals: 'clean install -B
             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn {mvn-params}'
           settings: '{mvn-settings}'
     # Required Variables:
     #     branch:    git branch (eg. stable/lithium or master)
 
+    <<: *verify_java_defaults
     name: '{project-name}-{stream}-verify-java-checkstyle'
-    project-type: freestyle
-    concurrent: true
-    node: '{build-node}'
-    properties:
-      - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-    parameters:
-      - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - maven-exec:
-          maven-version: '{maven-version}'
-      - maven-params:
-          mvn-params: '{mvn-params}'
-    scm:
-      - gerrit-trigger-scm:
-          refspec: '$GERRIT_REFSPEC'
-          choosing-strategy: 'gerrit'
-          submodule-recursive: '{submodule-recursive}'
-    wrappers:
-      - infra-wrappers:
-          build-timeout: '{build-timeout}'
-    triggers:
-      - gerrit-trigger-patch-submitted:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '**'
-    builders:
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
-      - maven-target:
-          maven-version: '{maven-version}'
-          goals: 'clean install -B
-            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn {mvn-params}'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
     publishers:
       - infra-shiplogs:
           maven-version: '{maven-version}'
     #     pattern:   ant file-path pattern relative to the workspace used to
     #                trigger the job
 
+    <<: *verify_java_defaults
     name: '{project-name}-{stream}-{subproject}-verify-java'
 
-    project-type: freestyle
-    concurrent: true
-    node: '{build-node}'
-
-    properties:
-      - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-
-    parameters:
-      - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - maven-exec:
-          maven-version: '{maven-version}'
-
-    scm:
-      - gerrit-trigger-scm:
-          refspec: '$GERRIT_REFSPEC'
-          choosing-strategy: 'gerrit'
-          submodule-recursive: '{submodule-recursive}'
-
-    wrappers:
-      - infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit-trigger-patch-submitted:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '{pattern}'
-
-    builders:
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
-      - maven-target:
-          maven-version: '{maven-version}'
-          pom: '{pom}'
-          goals: 'clean install -B
-            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-
-    publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
-
 - job-template:
     # Job template for Java daily release jobs
     #
           maven-version: '{maven-version}'
 
 
-- job-template:
+- job-template: &merge_java_defaults
     # Job template for Java merge jobs
     #
     # The purpose of this job template is to run:
 
     project-type: freestyle
     node: '{build-node}'
+    pattern: '**'
+    pom:
+    mvn_properties: []
 
     properties:
       - infra-properties:
           server: '{server-name}'
           project: '{project}'
           branch: '{branch}'
-          files: '**'
+          files: '{pattern}'
 
     builders:
       - provide-maven-settings:
           settings-file: '{mvn-settings}'
       - maven-target:
           maven-version: '{maven-version}'
+          pom: '{obj:pom}'
           goals: 'clean deploy -B
             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
           settings: '{mvn-settings}'
           settings-type: cfp
           global-settings: 'global-settings'
           global-settings-type: cfp
+          properties: '{obj:mvn_properties}'
 
     publishers:
       - infra-shiplogs:
     #     branch:    git branch (eg. stable/lithium or master)
     #     maven-properties: properties passed to maven
 
+    <<: *merge_java_defaults
     name: '{project-name}-{stream}-merge-properties-java'
 
-    project-type: freestyle
-    node: '{build-node}'
-
-    properties:
-      - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-
-    parameters:
-      - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - maven-exec:
-          maven-version: '{maven-version}'
-
-    scm:
-      - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
-
-    wrappers:
-      - infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit-trigger-patch-merged:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '**'
-
-    builders:
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
-      - maven-target:
-          maven-version: '{maven-version}'
-          goals: 'clean deploy -B
-            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-          properties: '{obj:mvn_properties}'
-
-    publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
-
 - job-template:
     # Job template for Java merge jobs that takes a maven template
     #
     # Required Variables:
     #     branch:    git branch (eg. stable/lithium or master)
 
+    <<: *merge_java_defaults
     name: '{project-name}-{stream}-merge-profile-java'
 
-    project-type: freestyle
-    node: '{build-node}'
-
-    properties:
-      - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-
-    parameters:
-      - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - maven-exec:
-          maven-version: '{maven-version}'
-
-    scm:
-      - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
-
-    wrappers:
-      - infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit-trigger-patch-merged:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '{files}'
-
     builders:
       - provide-maven-settings:
           global-settings-file: 'global-settings'
             - docker.pull.registry=nexus3.onap.org:10001
             - docker.push.registry=nexus3.onap.org:10003
 
-    publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
-
 - job-template:
     # Job template for Java merge jobs with POM not at the root
     #
     #     pattern:   ant file-path pattern relative to the workspace used to
     #                trigger the job
 
+    <<: *merge_java_defaults
     name: '{project-name}-{stream}-{subproject}-merge-java'
 
-    project-type: freestyle
-    node: '{build-node}'
-
-    properties:
-      - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-
-    parameters:
-      - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - maven-exec:
-          maven-version: '{maven-version}'
-
-    scm:
-      - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
-
-    wrappers:
-      - infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit-trigger-patch-merged:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '{pattern}'
-
-    builders:
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
-      - maven-target:
-          maven-version: '{maven-version}'
-          pom: '{pom}'
-          goals: 'clean deploy -B
-            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-
-    publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
-
 - job-template:
     # Job template for Docker daily jobs
     #
 
       - maven-docker-push-daily:
           maven-version: '{maven-version}'
-          pom: '{pom}'
           mvn-settings: '{mvn-settings}'
           pom: '{docker-pom}'
           # use default as mvn-profile if profile is not needed
     # Required Variables:
     #     branch:    git branch (eg. stable/lithium or master)
 
+    <<: *merge_java_defaults
     name: '{project-name}-{stream}-sdc-merge-java'
 
-    project-type: freestyle
     node: 'ubuntu1604-docker-8c-8g'
     build-timeout: 120
 
-    properties:
-      - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-
-    parameters:
-      - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - maven-exec:
-          maven-version: '{maven-version}'
-
-    scm:
-      - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
-
-    wrappers:
-      - infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit-trigger-patch-merged:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '**'
-
     builders:
       - provide-maven-settings:
           global-settings-file: 'global-settings'
 
       - docker-login
 
-      - maven-docker-push-daily-test:
+      - maven-docker-push-daily:
           maven-version: '{maven-version}'
           mvn-settings: '{mvn-settings}'
           pom: '{docker-pom}'
           # use default as mvn-profile if profile is not needed
           mvn-profile: '{mvn-profile}'
-
-    publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+          mvn-params: ''
 
 - job-template:
     # Job template for building & pushing docker images for AAI specific repos
index 22df5d2..a5cbe02 100644 (file)
@@ -13,8 +13,8 @@
           mvn-params: '-P rootOnly'
           pattern: 'pom.xml'
       - '{project-name}-{stream}-merge-profile-java':
-            build-node: ubuntu1604-docker-8c-8g
+          build-node: ubuntu1604-docker-8c-8g
+          pattern: 'pom.xml'
       - '{project-name}-{stream}-release-version-profile-java-daily'
-    files: 'pom.xml'
     archive-artifacts: ''
     build-node: ubuntu1604-builder-4c-4g