X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=Jenkinsfile;h=b39b1256be157a14d741806a19db963ecc65eb3e;hb=refs%2Fchanges%2F04%2F9704%2F2;hp=48102c7f38a1ab42376e1a237ab27cc322333966;hpb=80d61ec5bbbdd0c45602a9e53c41fe3dff9b50be;p=osm%2FNBI.git diff --git a/Jenkinsfile b/Jenkinsfile index 48102c7..b39b125 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,9 +1,24 @@ +/* + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ properties([ parameters([ string(defaultValue: env.BRANCH_NAME, description: '', name: 'GERRIT_BRANCH'), string(defaultValue: 'osm/NBI', description: '', name: 'GERRIT_PROJECT'), string(defaultValue: env.GERRIT_REFSPEC, description: '', name: 'GERRIT_REFSPEC'), string(defaultValue: env.GERRIT_PATCHSET_REVISION, description: '', name: 'GERRIT_PATCHSET_REVISION'), + string(defaultValue: 'patchset-created', description: '', name: 'GERRIT_EVENT_TYPE'), string(defaultValue: 'https://osm.etsi.org/gerrit', description: '', name: 'PROJECT_URL_PREFIX'), booleanParam(defaultValue: false, description: '', name: 'TEST_INSTALL'), string(defaultValue: 'artifactory-osm', description: '', name: 'ARTIFACTORY_SERVER'), @@ -17,16 +32,62 @@ def devops_checkout() { } node('docker') { - checkout scm - devops_checkout() - - ci_stage_2 = load "devops/jenkins/ci-pipelines/ci_stage_2.groovy" - ci_stage_2.ci_pipeline( 'NBI', - params.PROJECT_URL_PREFIX, - params.GERRIT_PROJECT, - params.GERRIT_BRANCH, - params.GERRIT_REFSPEC, - params.GERRIT_PATCHSET_REVISION, - params.TEST_INSTALL, - params.ARTIFACTORY_SERVER) + stage('CURRENT PIPELINE') { + checkout scm + devops_checkout() + + ci_stage_2 = load "devops/jenkins/ci-pipelines/ci_stage_2.groovy" + ci_stage_2.ci_pipeline('NBI', + params.PROJECT_URL_PREFIX, + params.GERRIT_PROJECT, + params.GERRIT_BRANCH, + params.GERRIT_REFSPEC, + params.GERRIT_PATCHSET_REVISION, + // params.TEST_INSTALL, + false, + params.ARTIFACTORY_SERVER) + } + stage('NEW PIPELINE') { + // a devops changes in new-pipeline branch is required to receive GERRIT_EVENT_TYPE + // https://osm.etsi.org/gerrit/#/c/osm/devops/+/9701/ + // Meanwhile, stage_name is predefined + def stage_name = "patchset" + try { + switch(GERRIT_EVENT_TYPE) { + case "change-merged": + stage_name = "merge" + break + + case "patchset-created": + stage_name = "patchset" + break + } + } + catch(caughtError) { + println("No gerrit event found") + } + + def downstream_params = [ + string(name: 'GERRIT_BRANCH', value: params.GERRIT_BRANCH), + string(name: 'GERRIT_PROJECT', value: params.GERRIT_PROJECT), + string(name: 'GERRIT_REFSPEC', value: params.GERRIT_REFSPEC), + string(name: 'GERRIT_PATCHSET_REVISION', value: params.GERRIT_PATCHSET_REVISION), + string(name: 'PROJECT_URL_PREFIX', value: params.PROJECT_URL_PREFIX), + booleanParam(name: 'TEST_INSTALL', value: params.TEST_INSTALL), + // next params will have to be updated with the proper values + string(name: 'IMAGENAME', value: 'opensourcemano/nbi'), + string(name: 'DOCKER_REGISTRY', value: 'localhost:5000'), + string(name: 'DOCKER_REGISTRY_PROTOCOL', value: 'http://'), + string(name: 'DOCKER_CREDENTIALS', value: '') + ] + + downstream_job_name = "NBI-${stage_name}" + echo "Triggering NEW PIPELINE" + build job: "${downstream_job_name}", parameters: downstream_params + // build job: "${downstream_job_name}", parameters: downstream_params, propagate: true + // It calls the new pipeline defined in Jenkinsfile.new + // + //build job: '', parameters: [[$class: 'StringParameterValue', name: 'param1', value: 'test_param']] + } } +