summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Gauld <agauld@att.com>2020-01-08 17:32:06 +0000
committerAndrew Gauld <agauld@att.com>2020-01-13 19:59:04 +0000
commit9c2bfc0f641e67869b3951b39b7f444020b07f63 (patch)
treec333910e81a36afb32a5fa52130a2ed01fdcd142
parent374c604925395d87d86628b1870eded7983c018e (diff)
Fix dcaegen2/platform docker/python SONAR jobs
Also refactor jjb under dcaegen2 to make building of dcaegen2/platform python based docker images uniform and simplify adding more of them. Also add ability to build multiple branches. Also add release jobs. Change-Id: I56c0e90eec4a034c29d70f79ff903c4afc22e3de Issue-ID: DCAEGEN2-1861 Signed-off-by: Andrew Gauld <agauld@att.com>
-rw-r--r--jjb/dcaegen2/dcaegen2-platform-adapter.yaml74
-rw-r--r--jjb/dcaegen2/dcaegen2-platform-docker-python-subprojects.yaml90
-rw-r--r--jjb/dcaegen2/dcaegen2-platform-mod-distributorapi.yaml45
-rw-r--r--jjb/dcaegen2/dcaegen2-platform-mod-onboardingapi.yaml45
-rw-r--r--jjb/dcaegen2/dcaegen2-platform-mod.yaml8
-rw-r--r--jjb/dcaegen2/dcaegen2-platform-oti-eventhandler.yaml45
6 files changed, 90 insertions, 217 deletions
diff --git a/jjb/dcaegen2/dcaegen2-platform-adapter.yaml b/jjb/dcaegen2/dcaegen2-platform-adapter.yaml
deleted file mode 100644
index a203a7577..000000000
--- a/jjb/dcaegen2/dcaegen2-platform-adapter.yaml
+++ /dev/null
@@ -1,74 +0,0 @@
----
-- dcaegen2_platform_common: &dcaegen2_platform_common
- # values apply to all dcaegen2_platform docker projects
- name: dcaegen2-platform-docker-common
- # git repo
- project: dcaegen2/platform
- # maven settings file has docker credentials
- mvn-settings: dcaegen2-platform-settings
- # use host network to clone from our gerrit
- docker-build-args: '--network=host'
- # source of docker tag
- # container-tag-method: yaml-file
- # until everything needed for yaml-file is in place
- container-tag-method: latest
- build-node: ubuntu1604-docker-8c-8g
- # jenkins job name prefix
- project-name: '{name}'
- tox-dir: '{docker-root}'
- # build only on relevant changes
- gerrit_trigger_file_paths:
- - compare-type: REG_EXP
- pattern: '{docker-root}/.*'
-
-- project:
- name: dcaegen2-platform-aoadapter-project-view
- project-name: dcaegen2-platform-aoadapter
- views:
- - project-view
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcaegen2-platform-aoadapter
- # root of docker build
- docker-root: adapter/acumos
- # tag override
- docker-get-container-tag-script: ../../shell/docker-ts-tag-override.sh
- # image name
- docker-name: 'onap/{name}'
- stream:
- - master:
- branch: master
- jobs:
- - '{project-name}-gerrit-docker-jobs'
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcagen2-platform-aoadapter-verify
- docker-root: adapter/acumos
- stream:
- - all:
- branch: '*'
- jobs:
- - gerrit-tox-verify
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcaegen2-platform-aoadapter-sonar
- docker-root: adapter/acumos
- branch: master
- jobs:
- - gerrit-tox-sonar
- cron: '@daily'
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcaegen2-platform-aoadapter-clm
- docker-root: adapter/acumos
- jobs:
- - gerrit-maven-clm
- nexus-iq-namespace: 'onap-'
- project-name: 'dcaegen2-platform-aoadapter-clm'
- mvn-params: '-f adapter/acumos/pom.xml'
- branch: 'master'
-
diff --git a/jjb/dcaegen2/dcaegen2-platform-docker-python-subprojects.yaml b/jjb/dcaegen2/dcaegen2-platform-docker-python-subprojects.yaml
new file mode 100644
index 000000000..911435c1a
--- /dev/null
+++ b/jjb/dcaegen2/dcaegen2-platform-docker-python-subprojects.yaml
@@ -0,0 +1,90 @@
+---
+- job-group:
+ # This job group contains all the jobs that should be deployed for
+ # a subproject of dcaegen2/platform that builds a Docker image from
+ # Python code.
+ #
+ # Required parameters:
+ # build-node: The node to run build on.
+ # mvn-settings: Maven settings.xml file containing credentials to use.
+ # project-name: The job name prefix
+ # src-dir: The subdirectory of the repository containing subproject code
+ # stream: The stream to build
+ # branch: The branch to build
+ #
+ # Note: Multiple subprojects can be built with a single JJB project
+ # by specifying the value of project-name as a list.
+ # Similarly, multiple streams can be built with a single JJB project
+ # by specifying the value of the stream as a list.
+ # For example:
+ # project-name:
+ # - subproject-name1:
+ # src-dir: subproject-dir1
+ # - subproject-name2:
+ # src-dir: subproject-dir2
+ # - subproject-name3:
+ # src-dir: subproject-dir3
+ # stream:
+ # - master:
+ # branch: master
+ # - release1:
+ # branch: release1.0
+ # jobs:
+ # - dcaegen2-docker-python-jobs
+
+ name: '{project-name}-dcaegen2-docker-python-jobs'
+ id: dcaegen2-docker-python-jobs
+ container-tag-method: latest
+ docker-get-container-tag-script: ../../shell/docker-ts-tag-override.sh
+ nexus-iq-namespace: 'onap-'
+ tox-dir: '{src-dir}'
+ docker-root: '{src-dir}'
+ docker-name: 'onap/{project-name}'
+ gerrit_trigger_file_paths:
+ - compare-type: REG_EXP
+ pattern: '{src-dir}/.*'
+ jobs:
+ - gerrit-tox-verify:
+ stream: all
+ branch: '*'
+ - gerrit-docker-verify
+ - gerrit-docker-merge
+ - gerrit-maven-clm:
+ mvn-params: '-f {src-dir}'
+ stream: master
+ branch: master
+ - gerrit-tox-sonar:
+ # workaround because gerrit-tox-sonar doesn't support mvn-params/opts
+ sonar-mvn-goal: '-f {src-dir} sonar:sonar'
+ cron: '@daily'
+ stream: master
+ branch: master
+ - gerrit-release-verify
+ - gerrit-release-merge
+
+- project:
+ name: dcaegen2-platform-docker-python-subprojects
+ project: dcaegen2/platform
+ mvn-settings: dcaegen2-platform-settings
+ build-node: ubuntu1604-docker-8c-8g
+ project-name:
+ - dcaegen2-platform-aoadapter:
+ src-dir: adapter/acumos
+ - dcaegen2-platform-mod-distributorapi:
+ src-dir: mod/distributorapi
+ - dcaegen2-platform-mod-onboardingapi:
+ src-dir: mod/onboardingapi
+ - dcaegen2-platform-oti-event-handler:
+ src-dir: oti/event-handler
+ stream:
+ - master:
+ branch: master
+ views:
+ - project-view:
+ project-name: dcaegen2-platform-aoadapter
+ - project-view:
+ project-name: dcaegen2-platform-mod
+ - project-view:
+ project-name: dcaegen2-platform-oti
+ jobs:
+ - dcaegen2-docker-python-jobs
diff --git a/jjb/dcaegen2/dcaegen2-platform-mod-distributorapi.yaml b/jjb/dcaegen2/dcaegen2-platform-mod-distributorapi.yaml
deleted file mode 100644
index 1210edbdc..000000000
--- a/jjb/dcaegen2/dcaegen2-platform-mod-distributorapi.yaml
+++ /dev/null
@@ -1,45 +0,0 @@
----
-# dcagen2_platform_common is defined in dcaegen2-platform-adapter.yaml
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcaegen2-platform-mod-distributorapi
- # root of docker build
- docker-root: mod/distributorapi
- # image name
- docker-name: '{name}'
- stream:
- - master:
- branch: master
- jobs:
- - '{project-name}-gerrit-docker-jobs'
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcagen2-platform-mod-distributorapi-verify
- docker-root: mod/distributorapi
- stream:
- - all:
- branch: '*'
- jobs:
- - gerrit-tox-verify
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcaegen2-platform-mod-distributorapi-sonar
- docker-root: mod/distributorapi
- branch: master
- jobs:
- - gerrit-tox-sonar
- cron: '@daily'
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcaegen2-platform-mod-distributorapi-clm
- docker-root: mod/distributorapi
- jobs:
- - gerrit-maven-clm
- nexus-iq-namespace: 'onap-'
- project-name: 'dcaegen2-platform-mod-distributorapi-clm'
- mvn-params: '-f mod/distributorapi/pom.xml'
- branch: 'master'
diff --git a/jjb/dcaegen2/dcaegen2-platform-mod-onboardingapi.yaml b/jjb/dcaegen2/dcaegen2-platform-mod-onboardingapi.yaml
deleted file mode 100644
index ca63a42cc..000000000
--- a/jjb/dcaegen2/dcaegen2-platform-mod-onboardingapi.yaml
+++ /dev/null
@@ -1,45 +0,0 @@
----
-# dcagen2_platform_common is defined in dcaegen2-platform-adapter.yaml
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcaegen2-platform-mod-onboardingapi
- # root of docker build
- docker-root: mod/onboardingapi
- # image name
- docker-name: '{name}'
- stream:
- - master:
- branch: master
- jobs:
- - '{project-name}-gerrit-docker-jobs'
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcagen2-platform-mod-onboardingapi-verify
- docker-root: mod/onboardingapi
- stream:
- - all:
- branch: '*'
- jobs:
- - gerrit-tox-verify
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcaegen2-platform-mod-onboardingapi-sonar
- docker-root: mod/onboardingapi
- branch: master
- jobs:
- - gerrit-tox-sonar
- cron: '@daily'
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcaegen2-platform-mod-onboardingapi-clm
- docker-root: mod/onboardingapi
- jobs:
- - gerrit-maven-clm
- nexus-iq-namespace: 'onap-'
- project-name: 'dcaegen2-platform-mod-onboardingapi-clm'
- mvn-params: '-f mod/onboardingapi/pom.xml'
- branch: 'master'
diff --git a/jjb/dcaegen2/dcaegen2-platform-mod.yaml b/jjb/dcaegen2/dcaegen2-platform-mod.yaml
deleted file mode 100644
index 1baf6c0a8..000000000
--- a/jjb/dcaegen2/dcaegen2-platform-mod.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-
-- project:
- name: dcaegen2-platform-mod-project-view
- project-name: dcaegen2-platform-mod
- views:
- - project-view
-
diff --git a/jjb/dcaegen2/dcaegen2-platform-oti-eventhandler.yaml b/jjb/dcaegen2/dcaegen2-platform-oti-eventhandler.yaml
deleted file mode 100644
index fa64115f6..000000000
--- a/jjb/dcaegen2/dcaegen2-platform-oti-eventhandler.yaml
+++ /dev/null
@@ -1,45 +0,0 @@
----
-# dcagen2_platform_common is defined in dcaegen2-platform-adapter.yaml
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcaegen2-platform-oti-event-handler
- # root of docker build
- docker-root: oti/event-handler
- # image name
- docker-name: '{name}'
- stream:
- - master:
- branch: master
- jobs:
- - '{project-name}-gerrit-docker-jobs'
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcagen2-platform-oti-event-handler-verify
- docker-root: oti/event-handler
- stream:
- - all:
- branch: '*'
- jobs:
- - gerrit-tox-verify
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcaegen2-platform-oti-event-handler-sonar
- docker-root: oti/event-handler
- branch: master
- jobs:
- - gerrit-tox-sonar
- cron: '@daily'
-
-- project:
- <<: *dcaegen2_platform_common
- name: dcaegen2-platform-oti-event-handler-clm
- docker-root: oti/event-handler
- jobs:
- - gerrit-maven-clm
- nexus-iq-namespace: 'onap-'
- project-name: 'dcaegen2-platform-oti-event-handler-clm'
- mvn-params: '-f oti/event-handler/pom.xml'
- branch: 'master'