From e742a0fa70796905b48c06bde61d986841d4fcfa Mon Sep 17 00:00:00 2001 From: harshavardhanc Date: Mon, 16 Mar 2020 12:35:59 +0530 Subject: [PATCH 1/9] Issue #00 fix: updating jenkinsfile --- Jenkinsfile | 84 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 37 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 44658c561..f354f5146 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,46 +1,56 @@ -#!groovy - node('build-slave') { - - currentBuild.result = "SUCCESS" - cleanWs() - try { - - stage('Checkout') { - checkout scm - } - - stage('Build') { - - env.NODE_ENV = "build" - print "Environment will be : ${env.NODE_ENV}" - sh('git pull origin master') - sh('pwd') - sh ('sh configure-dependencies.sh') - sh('cd java && mvn clean install') - sh('pwd') - sh('cd java/registry && mvn clean install') - sh 'chmod 755 ./target/metadata.sh' - sh('./build.sh') - + String ANSI_GREEN = "\u001B[32m" + String ANSI_NORMAL = "\u001B[0m" + String ANSI_BOLD = "\u001B[1m" + String ANSI_RED = "\u001B[31m" + String ANSI_YELLOW = "\u001B[33m" + + ansiColor('xterm') { + stage('Checkout') { + if (!env.hub_org) { + println(ANSI_BOLD + ANSI_RED + "Uh Oh! Please set a Jenkins environment variable named hub_org with value as registery/sunbidrded" + ANSI_NORMAL) + error 'Please resolve the errors and rerun..' + } + else + println(ANSI_BOLD + ANSI_GREEN + "Found environment variable named hub_org with value as: " + hub_org + ANSI_NORMAL) + cleanWs() + if (params.github_release_tag == "") { + checkout scm + commit_hash = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim() + branch_name = sh(script: 'git name-rev --name-only HEAD | rev | cut -d "/" -f1| rev', returnStdout: true).trim() + build_tag = branch_name + "_" + commit_hash + println(ANSI_BOLD + ANSI_YELLOW + "github_release_tag not specified, using the latest commit hash: " + commit_hash + ANSI_NORMAL) + } + else { + def scmVars = checkout scm + checkout scm: [$class: 'GitSCM', branches: [[name: "refs/tags/$params.github_release_tag"]], userRemoteConfigs: [[url: scmVars.GIT_URL]]] + build_tag = params.github_release_tag + println(ANSI_BOLD + ANSI_YELLOW + "github_release_tag specified, building from github_release_tag: " + params.github_release_tag + ANSI_NORMAL) + } + echo "build_tag: " + build_tag + } + + stage('Build') { + env.NODE_ENV = "build" + print "Environment will be : ${env.NODE_ENV}" + sh('''git clone https://github.com/Sunbird-Ed/creation-portal.git -b creation_portal + cp -r creation_portal/opensaber_schemas/* java/registry/src/main/resources/public/_schemas/ + cd java && mvn clean install -DksipTests + ''') + sh('chmod 777 build.sh') + // sh("./build.sh ${build_tag} ${env.NODE_NAME} ${hub_org}") + } + stage('ArchiveArtifacts') { + archiveArtifacts "metadata.json" + currentBuild.description = "${build_tag}" + } } - stage('Publish') { - - echo 'Push to Repo' - sh 'ls -al ~/' - sh 'ARTIFACT_LABEL=bronze ./dockerPushToRepo.sh' - sh './target/metadata.sh > metadata.json' - sh 'cat metadata.json' - archive includes: "metadata.json" - - } - } catch (err) { - + } + catch (err) { currentBuild.result = "FAILURE" throw err - } } From 942051f09f5ac240403b4fb270c2d6a09c23329e Mon Sep 17 00:00:00 2001 From: harshavardhanc Date: Mon, 16 Mar 2020 12:44:07 +0530 Subject: [PATCH 2/9] Issue #000 fix: updating opensaber build steps --- Jenkinsfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index f354f5146..379b46bb9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -35,7 +35,8 @@ node('build-slave') { env.NODE_ENV = "build" print "Environment will be : ${env.NODE_ENV}" sh('''git clone https://github.com/Sunbird-Ed/creation-portal.git -b creation_portal - cp -r creation_portal/opensaber_schemas/* java/registry/src/main/resources/public/_schemas/ + rm -rf java/registry/src/main/resources/public/_schemas/* + cp -r creation-portal/opensaber_schemas/* java/registry/src/main/resources/public/_schemas/ cd java && mvn clean install -DksipTests ''') sh('chmod 777 build.sh') From e1ea663142ac2e879d0844e808a19f461a4caf65 Mon Sep 17 00:00:00 2001 From: harshavardhanc Date: Mon, 16 Mar 2020 12:46:40 +0530 Subject: [PATCH 3/9] Issue #000 fix: image name changes --- build.sh | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/build.sh b/build.sh index df427815c..607227f3f 100755 --- a/build.sh +++ b/build.sh @@ -1,11 +1,10 @@ -#!/bin/sh -e () { - echo $( echo ${1} | jq ".${2}" | sed 's/\"//g') -} -m=$(./target/metadata.sh) +#!/bin/bash +# Build script +set -eo pipefail +build_tag=$1 +name=opensaber +node=$2 +org=$3 -org=$(e "${m}" "org") -name=$(e "${m}" "name") -version=$(e "${m}" "version") - -docker build -f ./Dockerfile -t ${org}/${name}:${version}-bronze . +docker build -f ./Dockerfile --label commitHash=$(git rev-parse --short HEAD) -t ${org}/${name}:${build_tag} . +echo {\"image_name\" : \"${name}\", \"image_tag\" : \"${build_tag}\", \"node_name\" : \"$node\"} > metadata.json From b112d6a65e36bbcabff90c8202393d53c58678ad Mon Sep 17 00:00:00 2001 From: harshavardhanc Date: Mon, 16 Mar 2020 12:47:16 +0530 Subject: [PATCH 4/9] Issue #00 fix: updating jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 379b46bb9..db8bedc82 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -40,7 +40,7 @@ node('build-slave') { cd java && mvn clean install -DksipTests ''') sh('chmod 777 build.sh') - // sh("./build.sh ${build_tag} ${env.NODE_NAME} ${hub_org}") + sh("./build.sh ${build_tag} ${env.NODE_NAME} ${hub_org}") } stage('ArchiveArtifacts') { archiveArtifacts "metadata.json" From 36b65d1e309bb0cf7c0eaf634cf253fc1c91ea16 Mon Sep 17 00:00:00 2001 From: harshavardhanc Date: Mon, 16 Mar 2020 12:49:02 +0530 Subject: [PATCH 5/9] Issue #00 fix: updating jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index db8bedc82..930b0c924 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -37,7 +37,7 @@ node('build-slave') { sh('''git clone https://github.com/Sunbird-Ed/creation-portal.git -b creation_portal rm -rf java/registry/src/main/resources/public/_schemas/* cp -r creation-portal/opensaber_schemas/* java/registry/src/main/resources/public/_schemas/ - cd java && mvn clean install -DksipTests + cd java && mvn clean install ''') sh('chmod 777 build.sh') sh("./build.sh ${build_tag} ${env.NODE_NAME} ${hub_org}") From 3958c18b80f59e85d86414d71461d4446a81eec6 Mon Sep 17 00:00:00 2001 From: harshavardhanc Date: Mon, 16 Mar 2020 12:54:35 +0530 Subject: [PATCH 6/9] Issue #000 fix: skip test cases --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 930b0c924..d139f28c4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -37,7 +37,7 @@ node('build-slave') { sh('''git clone https://github.com/Sunbird-Ed/creation-portal.git -b creation_portal rm -rf java/registry/src/main/resources/public/_schemas/* cp -r creation-portal/opensaber_schemas/* java/registry/src/main/resources/public/_schemas/ - cd java && mvn clean install + cd java && mvn clean install -DksipTests=true ''') sh('chmod 777 build.sh') sh("./build.sh ${build_tag} ${env.NODE_NAME} ${hub_org}") From a15a92d86eb1b73b064900ffe76ebf1cbcc5517c Mon Sep 17 00:00:00 2001 From: harshavardhanc Date: Mon, 16 Mar 2020 13:18:23 +0530 Subject: [PATCH 7/9] Issue #00 fix: updating jenkinsfile --- Jenkinsfile | 1 + configure-dependencies.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d139f28c4..622524c99 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,6 +34,7 @@ node('build-slave') { stage('Build') { env.NODE_ENV = "build" print "Environment will be : ${env.NODE_ENV}" + sh(./configure-dependencies.sh) sh('''git clone https://github.com/Sunbird-Ed/creation-portal.git -b creation_portal rm -rf java/registry/src/main/resources/public/_schemas/* cp -r creation-portal/opensaber_schemas/* java/registry/src/main/resources/public/_schemas/ diff --git a/configure-dependencies.sh b/configure-dependencies.sh index c4c5d7a43..bff180ce4 100755 --- a/configure-dependencies.sh +++ b/configure-dependencies.sh @@ -2,5 +2,5 @@ echo "Configuring dependencies before build" cp java/registry/src/main/resources/application.yml.sample java/registry/src/main/resources/application.yml cp java/registry/src/main/resources/frame.json.sample java/registry/src/main/resources/frame.json -cp java/registry/src/main/resources/audit_frame.json.sample java/registry/src/main/resources/audit_frame.json +#cp java/registry/src/main/resources/audit_frame.json.sample java/registry/src/main/resources/audit_frame.json echo "Configuration of dependencies completed" From 36236360347d3c72f5571cb5ccbf14d750d8634f Mon Sep 17 00:00:00 2001 From: harshavardhanc Date: Mon, 16 Mar 2020 13:19:12 +0530 Subject: [PATCH 8/9] Issue #00 fix: updating jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 622524c99..a97d5b2af 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,7 +34,7 @@ node('build-slave') { stage('Build') { env.NODE_ENV = "build" print "Environment will be : ${env.NODE_ENV}" - sh(./configure-dependencies.sh) + sh(configure-dependencies.sh) sh('''git clone https://github.com/Sunbird-Ed/creation-portal.git -b creation_portal rm -rf java/registry/src/main/resources/public/_schemas/* cp -r creation-portal/opensaber_schemas/* java/registry/src/main/resources/public/_schemas/ From 981f3e56705d8db5497c872ab52940c2198490e2 Mon Sep 17 00:00:00 2001 From: harshavardhanc Date: Mon, 16 Mar 2020 13:20:23 +0530 Subject: [PATCH 9/9] Issue #00 fix: updating jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index a97d5b2af..6d7028d61 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,7 +34,7 @@ node('build-slave') { stage('Build') { env.NODE_ENV = "build" print "Environment will be : ${env.NODE_ENV}" - sh(configure-dependencies.sh) + sh("./configure-dependencies.sh") sh('''git clone https://github.com/Sunbird-Ed/creation-portal.git -b creation_portal rm -rf java/registry/src/main/resources/public/_schemas/* cp -r creation-portal/opensaber_schemas/* java/registry/src/main/resources/public/_schemas/