Add verification jobs for ccsdk/distribution
- replace existing CCSDK CSIT jobs with project-specific CSIT job
- add docker snapshot and docker staging jobs - snapshot images are
still being done with maven, but tagging the images with STAGING
is moved from maven to plain shell script (both of these have been
implemented in https://gerrit.onap.org/r/c/ccsdk/distribution/+/116082)
- add maven docker snapshot job template to support UNIQUE_DOCKER_TAG
- note that this commit requires
https://gerrit.onap.org/r/c/ccsdk/distribution/+/116082 to work
properly in review and merge verification phases!
- note also that this is not final commit related to this change
as the maven docker template is still named with -PoC postfix
and original artifact builds still remain triggered by review
separately (the latter should be ultimately replaced by or
included in review and merge verification jobs)
Issue-ID: CCSDK-3018, CCSDK-3019
Signed-off-by: Lasse Kaihlavirta <l.kaihlavirt@partner.samsung.com>
Change-Id: Id4c922e180c9d0ddadae6c99632d6ff6cdcbb59f
diff --git a/jjb/integration/integration-maven-jobs.yaml b/jjb/integration/integration-maven-jobs.yaml
new file mode 100644
index 0000000..5c7a503
--- /dev/null
+++ b/jjb/integration/integration-maven-jobs.yaml
@@ -0,0 +1,140 @@
+- integration_maven_common: &integration_maven_common
+ name: integration-maven-common
+
+ ######################
+ # Default parameters #
+ ######################
+
+ archive-artifacts: >
+ **/*.log
+ **/hs_err_*.log
+ **/target/**/feature.xml
+ **/target/failsafe-reports/failsafe-summary.xml
+ **/target/surefire-reports/*-output.txt
+
+ #####################
+ # Job Configuration #
+ #####################
+
+ project-type: freestyle
+ node: "{build-node}"
+
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: "{build-days-to-keep}"
+
+ parameters:
+ - lf-infra-parameters:
+ project: "{project}"
+ branch: "{branch}"
+ stream: "{stream}"
+ - lf-infra-maven-parameters:
+ mvn-opts: "{mvn-opts}"
+ mvn-params: "{mvn-params}"
+ mvn-version: "{mvn-version}"
+ - string:
+ name: ARCHIVE_ARTIFACTS
+ default: "{archive-artifacts}"
+ description: Artifacts to archive to the logs server.
+
+ scm:
+ - lf-infra-gerrit-scm:
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+ git-url: "{git-url}"
+ refspec: "$GERRIT_REFSPEC"
+ branch: "$GERRIT_BRANCH"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
+ choosing-strategy: default
+
+ wrappers:
+ - lf-infra-wrappers:
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+
+ publishers:
+ - lf-infra-publish
+
+#############################
+# Maven Snapshot for Docker #
+#############################
+
+- integration_maven_docker_snapshot: &integration_maven_docker_snapshot
+ name: integration-maven-docker-snapshot
+
+ builders:
+ - lf-infra-pre-build
+ - lf-jacoco-nojava-workaround
+ - lf-maven-install:
+ mvn-version: "{mvn-version}"
+ - lf-update-java-alternatives:
+ java-version: "{java-version}"
+ - lf-infra-docker-login:
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
+ # must provide maven settings AFTER docker-login due to its cleanup
+ - lf-provide-maven-settings:
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
+ - lf-maven-versions-plugin:
+ maven-versions-plugin: "{maven-versions-plugin}"
+ version-properties-file: "{version-properties-file}"
+ mvn-version: "{mvn-version}"
+ mvn-pom: "{mvn-pom}"
+ mvn-settings: "{mvn-settings}"
+ - inject:
+ properties-content: |
+ CONTAINER_PULL_REGISTRY={container-public-registry}
+ CONTAINER_PUSH_REGISTRY={container-snapshot-registry}
+ - lf-maven-build:
+ mvn-goals: "{mvn-goals}"
+ - lf-sigul-sign-dir:
+ sign-artifacts: "{sign-artifacts}"
+ sign-dir: "$WORKSPACE/m2repo"
+ sign-mode: "{sign-mode}"
+ - lf-provide-maven-settings-cleanup
+
+- job-template:
+ name: "{project-name}-{stream}-maven-docker-snapshot"
+ id: gerrit-maven-docker-snapshot-PoC
+ <<: *integration_maven_common
+ # yamllint disable-line rule:key-duplicates
+ <<: *integration_maven_docker_snapshot
+
+ ######################
+ # Default parameters #
+ ######################
+
+ branch: master
+ build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
+ build-timeout: 60
+ disable-job: false
+ git-url: "$GIT_URL/$PROJECT"
+ github-url: "https://github.com"
+ java-version: openjdk8
+ maven-versions-plugin: false
+ version-properties-file: version.properties
+ mvn-central: false
+ mvn-global-settings: global-settings
+ mvn-goals: clean deploy
+ mvn-opts: ""
+ mvn-params: ""
+ mvn-version: mvn35
+ ossrh-profile-id: ""
+ mvn-pom: ""
+ sign-artifacts: false
+ sign-mode: serial
+ stream: master
+ submodule-recursive: true
+ submodule-timeout: 10
+ submodule-disable: false
+
+ parameters:
+ - infra-parameters:
+ project: '{project}'
+ branch: '{branch}'
+ refspec: 'refs/heads/{branch}'
+ artifacts: '{archive-artifacts}'
+ - integration-unique-docker-tag:
+ unique-docker-tag: ''