Merge "Chore: Archive ric-app/admin project"
[ci-management.git] / jjb / portal-ric-dashboard / portal-ric-dashboard.yaml
index 7df1bc4..83c3945 100644 (file)
@@ -6,56 +6,72 @@
       - project-view
 
 - project:
-    name: portal-ric-dashboard-project
-    # jenkins job name prefix
+    name: portal-ric-dashboard-info
+    project: portal/ric-dashboard
     project-name: portal-ric-dashboard
+    build-node: centos8-builder-1c-1g
+    jobs:
+      - gerrit-info-yaml-verify
+
+- portal_ric_dashboard_common: &portal_ric_dashboard_common
+    # values apply to all projects here
+    name: portal-ric-dashboard-common
     # git repo
     project: portal/ric-dashboard
+    # jenkins job name prefix
+    project-name: portal-ric-dashboard
+    # maven settings file has docker credentials
     mvn-settings: portal-ric-dashboard-settings
-    mvn-params: -Dbuild.number=${{BUILD_NUMBER}}
+    # defaults.yaml value is NOT used due to value set in lf-maven-jobs.yaml
     java-version: openjdk11
-    nexus-iq-namespace: 'oran-'
-    build-node: ubuntu1804-docker-4c-4g
+
+# build docker images from code
+- project:
+    <<: *portal_ric_dashboard_common
+    name: portal-ric-dashboard-project
+    mvn-params: -f dashboard -Dbuild.number=${{BUILD_NUMBER}}
+    gerrit_trigger_file_paths:
+      - compare-type: REG_EXP
+        pattern: 'dashboard/.*'
     jobs:
       - gerrit-maven-docker-verify
       - gerrit-maven-docker-merge
-      - gerrit-maven-docker-stage
+      - gerrit-maven-docker-stage:
+          # stage every Saturday, not daily
+          cron: 'H H * * 6'
     stream:
       - master:
           branch: master
 
+# analyze code periodically
 - project:
+    <<: *portal_ric_dashboard_common
     name: portal-ric-dashboard-clm
-    project-name: portal-ric-dashboard
-    project: portal/ric-dashboard
-    mvn-goals: test
-    mvn-settings: portal-ric-dashboard-settings
-    java-version: openjdk11
-    branch: master
-    build-node: ubuntu1804-docker-4c-4g
+    # template goal install builds docker image unnecessarily
+    mvn-params: -f dashboard -Ddocker.skip=true
+    nexus-iq-namespace: 'oran-'
     jobs:
       - gerrit-maven-clm
 
+# report test coverage periodically
 - project:
+    <<: *portal_ric_dashboard_common
     name: portal-ric-dashboard-sonar
-    project-name: portal-ric-dashboard
-    project: portal/ric-dashboard
-    mvn-goals: test
-    mvn-settings: portal-ric-dashboard-settings
-    java-version: openjdk11
-    branch: master
-    build-node: ubuntu1804-docker-4c-4g
+    # template goal install builds docker image unnecessarily
+    mvn-params: -f dashboard -Ddocker.skip=true
+    sonarcloud: true
+    sonarcloud-api-token: '{sonarcloud_api_token}'
+    sonarcloud-project-key: '{sonarcloud_project_organization}_{project-name}'
+    sonarcloud-project-organization: '{sonarcloud_project_organization}'
     jobs:
       - gerrit-maven-sonar
-    sonarcloud: true
-    sonarcloud-project-key: o-ran-sc_portal-ric-dashboard
-    sonarcloud-project-organization: o-ran-sc
-    sonarcloud-api-token: d9e23c28dc39b6d7531d2ecabf122ce84e6253ef
 
+# promote container images to release registry
 - project:
-    name: portal-ric-dashboard-info
-    project: portal/ric-dashboard
-    project-name: portal-ric-dashboard
-    build-node: centos7-builder-1c-1g
+    <<: *portal_ric_dashboard_common
+    name: portal-ric-dashboard-release
+    # maven release requires sigul which requires centos
+    # container release requires docker
+    build-node: centos7-docker-2c-8g
     jobs:
-      - gerrit-info-yaml-verify
+      - '{project-name}-gerrit-release-jobs'