From 61ad9514c25204476e830f0f991323c1aee04c26 Mon Sep 17 00:00:00 2001 From: Lasse Kaihlavirta Date: Wed, 9 Dec 2020 16:30:49 +0200 Subject: 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 Change-Id: Id4c922e180c9d0ddadae6c99632d6ff6cdcbb59f --- jjb/integration/integration-maven-jobs.yaml | 140 ++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 jjb/integration/integration-maven-jobs.yaml (limited to 'jjb/integration') diff --git a/jjb/integration/integration-maven-jobs.yaml b/jjb/integration/integration-maven-jobs.yaml new file mode 100644 index 000000000..5c7a50391 --- /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: '' -- cgit 1.2.3-korg