From 46838e2fe133ef4bf410ba93d9ada1deedadf779 Mon Sep 17 00:00:00 2001 From: Fatih Degirmenci Date: Fri, 18 May 2018 19:01:25 +0200 Subject: openci: Add initial versions of prototype jobs This change adds jobs and associated script in order to start developing the OpenCI Prototype between OPNFV, ODL, and ONAP. The created jobs are - openci-onap-autorelease-daily-master: This job constructs ArtifactPublishedEvent with fake metadata and publishes it. Jobs on OPNFV CI get triggered, composing fake k8-nosdn-onap scenario and testing. In the end, OPNFV CI publishes ConfidenceLevelModifiedEvent which can then be used by ONAP to promote their artifacts further. - openci-onap-promote-daily-master: This job gets triggered by ConfidenceLevelModifiedEvent published by OPNFV CI and logs the triggering event to console. You can see the working jobs on OPNFV Jenkins. https://build.opnfv.org/ci/view/OpenCI/ This change adds the jobs listed under ONAP section on above page. Issue-ID: CIMAN-161 Change-Id: If290b4b81631019fb81af75b3319fa6969e6a0c7 Signed-off-by: Fatih Degirmenci --- jjb/openci/openci-onap-daily-jobs.yaml | 103 +++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 jjb/openci/openci-onap-daily-jobs.yaml (limited to 'jjb/openci/openci-onap-daily-jobs.yaml') diff --git a/jjb/openci/openci-onap-daily-jobs.yaml b/jjb/openci/openci-onap-daily-jobs.yaml new file mode 100644 index 000000000..d328e2530 --- /dev/null +++ b/jjb/openci/openci-onap-daily-jobs.yaml @@ -0,0 +1,103 @@ +--- +- project: + name: openci-onap + + project: '{name}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + + jobs: + - 'openci-onap-autorelease-daily-{stream}' + - 'openci-onap-promote-daily-{stream}' + +# This job gets triggered manually for the demo purposes. +# +# In prototype, either what this job does needs to be integrated to +# ONAP autorelease job or triggered by the upstream autorelease job. +- job-template: + name: 'openci-onap-autorelease-daily-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + build-node: ubuntu1604-builder-4c-4g + + parameters: + - string: + name: PUBLISH_EVENT_TYPE + default: ArtifactPublishedEvent + description: 'The type of the event this job publishes' + - string: + name: PUBLISH_EVENT_ORIGIN + default: ONAP + description: 'Originating community' + - string: + name: ARTIFACT_LOCATION + default: https://url/to/artifact/on/onap/nexus/$BUILD_NUMBER + description: 'The location of the artifact on ONAP Nexus' + - string: + name: CONFIDENCE_LEVEL + default: "'autorelease': 'SUCCESS'" + description: 'The confidence level the published artifact gained' + + builders: + # first build step in the job executes create-ape.sh to construct the + # ArtifactPublishedEvent (ape) + - shell: + !include-raw-escape: ./create-ape.sh + # constructed event gets injected into environment so JME Messaging + # plugin can publish the event and its properties in post-build step + - inject: + properties-file: "$WORKSPACE/event.properties" + + publishers: + - jms-messaging: + provider-name: openci.activemq + msg-type: Custom + msg-props: | + type=$type + origin=$origin + msg-content: + $eventBody + +# This job gets triggered by a ConfidenceLevelModifiedEvent published +# by OPNFV jobs so ONAP can promote the autorelease artifact even further. +# +# This job is created for the demo purposes and might not be there for +# the prototype. +- job-template: + name: 'openci-onap-promote-daily-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + build-node: ubuntu1604-builder-4c-4g + + triggers: + - jms-messaging: + provider-name: openci.activemq + selector: CI_TYPE = 'custom' + checks: + - field: origin + expected-value: 'OPNFV' + - field: type + expected-value: 'ConfidenceLevelModifiedEvent' + - field: scenario + expected-value: 'k8-nosdn-onap' + + builders: + - shell: | + #!/bin/bash + + echo + echo "Triggered by $type" + echo "----------------------------------" + echo $CI_MESSAGE + echo "----------------------------------" + echo " Promoted ONAP Autorelease artifact as release candidate!" -- cgit 1.2.3-korg