From 0605e8fe6e89365939d5e2a6949d77a0499091c0 Mon Sep 17 00:00:00 2001 From: Manuele Simi Date: Mon, 2 Sep 2019 07:59:42 -0400 Subject: [PATCH] Save last JSON version. --- Jenkinsfile | 2 +- Jenkinsfile_withFunctions | 131 +++++++++++--------------------------- examples/with_function | 13 +--- 3 files changed, 40 insertions(+), 106 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5d6dacc..d356ca2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -7,7 +7,7 @@ String releaseURL = "https://code-repo.d4science.org/gCubeCI/gCubeRelease/raw/br println "Querying ${releaseURL}" def text = releaseURL.toURL().getText() def gcubeJSON = new JsonSlurper().parseText(text) - +assert gcubeJSON instanceof Map //check that the release number parameter is the one expected assert gcubeJSON["gCube.version"] == params.gCube_release_number : "Release versions do not match!" diff --git a/Jenkinsfile_withFunctions b/Jenkinsfile_withFunctions index f9428ac..9cb18b1 100644 --- a/Jenkinsfile_withFunctions +++ b/Jenkinsfile_withFunctions @@ -1,107 +1,52 @@ import groovy.json.JsonSlurper //locate where this jenkinsfile is -String releaseURL = "https://code-repo.d4science.org/gCubeCI/gCubeRelease/raw/branch/feature/17273/releases/gcube-${params.gCube_release_number}.json" +String releaseURL = "https://code-repo.d4science.org/gCubeCI/gCubeRelease/raw/branch/feature/17273/releases/gcube-4.14.5.json" //check and parse the release file println "Querying ${releaseURL}" def text = releaseURL.toURL().getText() -def gcubeJSON = new JsonSlurper().parseText(text) +echo text +def jsonText = readJSON text:text +print(jsonText) +def object = new JsonSlurper().parseText ''' + { + "gCube.version": "4.14.5", + "Components": { + "SmartGear": [ + "maven-parent", + "gcube-bom", + "maven-smartgears-bom", + "authorization-client", + "gxRest" + ], + "Enabling": [ + "information-system-bom", + "information-system-model", + "resource-registry-api", + "resource-registry-client" + ], + "Data": [ + "" + ] + } +}''' -//check that the release number parameter is the one expected -assert gcubeJSON["gCube.version"] == params.gCube_release_number : "Release versions do not match!" +echo "gcube v. ${object['gCube.version']}" -/* -// set the build options according to the Type of build -def (options,maven_local_repo_path,maven_settings_file) = ['','',''] -def maven_jdk = 'OpenJDK 8' -def agent_root_folder = '/var/lib/jenkins' - -if (params.Type == 'SNAPSHOT-DRY-RUN') { - echo "Configure Maven for SNAPSHOT-DRY-RUN artifacts" - options = '' - maven_local_repo_path = "${agent_root_folder}/local-snapshots" - maven_settings_file = "${agent_root_folder}/.m2/jenkins-snapshots-dry-run-settings.xml" -} -if (params.Type == 'SNAPSHOT') { - echo "Configure Maven for SNAPSHOT artifacts" - options = '' - maven_local_repo_path = "${agent_root_folder}/local-snapshots" - maven_settings_file = "${agent_root_folder}/.m2/jenkins-snapshots-settings.xml" -} -if (params.Type == 'RELEASE-DRY-RUN') { - echo "Configure Maven for RELEASE-DRY-RUN artifacts" - options = '' - maven_local_repo_path = "${agent_root_folder}/local-releases" - maven_settings_file = "${agent_root_folder}/.m2/jenkins-releases-dry-run-settings.xml" -} -if (params.Type == 'RELEASE-STAGING') { - echo "Configure Maven for RELEASE-STAGING artifacts" - options = '' - maven_local_repo_path = "${agent_root_folder}/local-staging" - maven_settings_file = "${agent_root_folder}/.m2/jenkins-staging-settings.xml" - echo "This will fail. RELEASES are currently disabled until further testing." -} -if (params.Type == 'RELEASE') { - echo "Configure Maven for RELEASE artifacts" - options = '' - //maven_local_repo_path = "${agent_root_folder}/local-releases" - //maven_settings_file = "${agent_root_folder}/.m2/jenkins-releases-settings.xml" - echo "This will fail. RELEASES are currently disabled until further testing." -} -echo "Use settings file at ${maven_settings_file}" -echo "Use local repo at ${maven_local_repo_path}" -echo "Release number: ${params.gCube_release_number}" - -//def components = gcubeJSON['Components'] -*/ pipeline { - // see https://jenkins.io/doc/book/pipeline/syntax/#agent - agent any - // see https://jenkins.io/doc/book/pipeline/syntax/#environment - environment { - MAVEN_LOCAL_REPO = "${maven_local_repo_path}" - GCUBE_RELEASE_NUMBER = "${params.gCube_release_number}" - - } - - // see https://jenkins.io/doc/book/pipeline/syntax/#parameters - parameters { - choice(name: 'Type', - choices: ['SNAPSHOT-DRY-RUN', 'SNAPSHOT', 'RELEASE-DRY-RUN', 'RELEASE-STAGING', 'RELEASE'], - description: 'The type of artifacts the build is expected to generate') - - string(name: 'gCube_release_number', - defaultValue: 'invalid', - description: 'The number of the gCube release to build. Ignored by the SNAPSHOT builds. Sample values: 4.14, 4.15, etc.') + agent any + stages { + stage('build') { + steps { + buildComponents items: ("a".."f").collect { "Stage ${it}" } + } } - - //see https://jenkins.io/doc/book/pipeline/syntax/#stages - stages { - - stage('Build Components') { - stages { - - stage('Build SmartGears components') { - steps { - buildComponents items: ("a".."f").collect { "Stage ${it}" } - } - } - - stage('Build Enabling components') { - steps { - buildComponents items: ("g".."p").collect { "Stage ${it}" } - } - } - stage('Build Data components') { - steps { - buildComponents items: ("q".."t").collect { "Stage ${it}" } - - } - } - } + stage('build2') { + steps { + buildComponents items: ("g".."p").collect { "Stage ${it}" } + } } - } - + } } def buildComponents(args) { diff --git a/examples/with_function b/examples/with_function index 9a544e2..e22e6cf 100644 --- a/examples/with_function +++ b/examples/with_function @@ -1,14 +1,3 @@ -import groovy.json.JsonSlurper - -//locate where this jenkinsfile is -String releaseURL = "https://code-repo.d4science.org/gCubeCI/gCubeRelease/raw/branch/feature/17273/releases/gcube-${params.gCube_release_number}.json" -//check and parse the release file -println "Querying ${releaseURL}" -def text = releaseURL.toURL().getText() -def gcubeJSON = new JsonSlurper().parseText(text) - -//check that the release number parameter is the one expected -assert gcubeJSON["gCube.version"] == params.gCube_release_number : "Release versions do not match!" pipeline { agent any @@ -20,7 +9,7 @@ pipeline { } stage('build2') { steps { - buildComponents items: ("g".."fp").collect { "Stage ${it}" } + buildComponents items: ("g".."p").collect { "Stage ${it}" } } } }