From bbf130c5d7bb7ca079c5be9239e98c991058b186 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Thu, 17 Sep 2020 14:15:49 +0300 Subject: [PATCH] updated planspec --- bamboo-specs/bamboo-specs.iml | 31 ++++++++++++ .../src/main/java/buildjob/PlanSpec.java | 32 ++----------- versions.sh | 47 +++++++++++++++++++ 3 files changed, 81 insertions(+), 29 deletions(-) create mode 100644 bamboo-specs/bamboo-specs.iml create mode 100755 versions.sh diff --git a/bamboo-specs/bamboo-specs.iml b/bamboo-specs/bamboo-specs.iml new file mode 100644 index 000000000..438fa76fc --- /dev/null +++ b/bamboo-specs/bamboo-specs.iml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bamboo-specs/src/main/java/buildjob/PlanSpec.java b/bamboo-specs/src/main/java/buildjob/PlanSpec.java index cb09b872a..c8e68f01f 100644 --- a/bamboo-specs/src/main/java/buildjob/PlanSpec.java +++ b/bamboo-specs/src/main/java/buildjob/PlanSpec.java @@ -61,10 +61,7 @@ public class PlanSpec { public Plan createDockerBuildPlan() { return new Plan(project(), "Redaction UI", new BambooKey("UI")) .description("Docker build for Redaction UI.").stages( - new Stage("Build Stage").jobs(creatGinCloudPlatformImagesJob("weaver")) - .jobs(creatGinCloudPlatformImagesJob("database-modeler")) - .jobs(creatGinCloudPlatformImagesJob("landing-page")) - .jobs(creatGinCloudPlatformBrowserExtentionImagesJob("browser-extension"))) + new Stage("Build Stage").jobs(creatGinCloudPlatformImagesJob("red-ui-app"))) .stages(new Stage("Upstream Push Stage").jobs(creatGinCloudPlatformUpstreamJob())) .linkedRepositories("RED / ui").triggers(new BitbucketServerTrigger()).planBranchManagement( new PlanBranchManagement().createForVcsBranch() @@ -76,8 +73,8 @@ public class PlanSpec { new VcsCheckoutTask().description("Checkout Default Repository") .checkoutItems(new CheckoutItem().defaultRepository()), new ScriptTask().description("Build") .inlineBody( - "#!/bin/bash\n" + "set -e\n" + "imageName=\"nexus.iqser.com:5001/gin5/gcp-" + project + "\"\n" - + "dockerfileLocation=\"build/docker/" + project + "/Dockerfile\"\n" + "#!/bin/bash\n" + "set -e\n" + "imageName=\"nexus.iqser.com:5001/red/" + project + "\"\n" + + "dockerfileLocation=\"docker/" + project + "/Dockerfile\"\n" + "docker build -t ${imageName}:latest -f ${dockerfileLocation} .\n" + "if [[ \"${bamboo.planRepository.branchName}\" == \"master\" ]]\n" + "then\n" + " ./versions.sh patch\n" + " version=$(cat package.json | jq -r '.version')\n" @@ -90,29 +87,6 @@ public class PlanSpec { .volume("/var/run/docker.sock", "/var/run/docker.sock")); } - public Job creatGinCloudPlatformBrowserExtentionImagesJob(String project) { - return new Job("Build Job: " + project, new BambooKey(project.toUpperCase().replaceAll("-", ""))).tasks( - new VcsCheckoutTask().description("Checkout Default Repository") - .checkoutItems(new CheckoutItem().defaultRepository()), new ScriptTask().description("Build") - .inlineBody( - "#!/bin/bash\n" + "set -e\n" + "imageName=\"nexus.iqser.com:5001/gin5/gcp-" + project + "\"\n" - + "dockerfileLocation=\"build/docker/" + project + "/Dockerfile\"\n" - + "docker build -t ${imageName}:latest -f ${dockerfileLocation} .\n" + "mkdir -p dist\n" - + "docker rm -fv extension-build || true \n" - + "docker create -ti --name extension-build ${imageName}:latest bash\n" - + "docker cp extension-build:/instantli-extension-chrome.zip instantli-extension-chrome.zip\n" - + "docker cp extension-build:/instantli-extension-firefox.zip instantli-extension-firefox.zip\n" - + "docker cp extension-build:/instantli-ext-source-code.zip instantli-ext-source-code.zip\n")) - .dockerConfiguration(new DockerConfiguration().image("nexus.iqser.com:5001/infra/release_build:2.9.1") - .volume("/var/run/docker.sock", "/var/run/docker.sock")).artifacts( - new Artifact("instantli-extension-chrome.zip").location(".") - .copyPattern("instantli-extension-chrome.zip").shared(true), - new Artifact("instantli-extension-firefox.zip").location(".") - .copyPattern("instantli-extension-firefox.zip").shared(true), - new Artifact("instantli-ext-source-code.zip").location(".") - .copyPattern("instantli-ext-source-code.zip").shared(true)); - } - public Job creatGinCloudPlatformUpstreamJob() { return new Job("Upstream Push", new BambooKey("USPSH")).tasks( new VcsCheckoutTask().description("Checkout Default Repository") diff --git a/versions.sh b/versions.sh new file mode 100755 index 000000000..eb87b26b4 --- /dev/null +++ b/versions.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +function bump() { + + if [ "$1" == "major" ] || [ "$1" == "minor" ] || [ "$1" == "patch" ]; then + current_version=$(cat package.json | jq -r '.version') + + IFS='.' read -a version_parts <<< "$current_version" + + major=${version_parts[0]} + minor=${version_parts[1]} + patch=${version_parts[2]} + + case "$1" in + "major") + major=$((major + 1)) + minor=0 + patch=0 + ;; + "minor") + minor=$((minor + 1)) + patch=0 + ;; + "patch") + patch=$((patch + 1)) + ;; + esac + new_version="$major.$minor.$patch" + echo "New Version is $new_version" + + cat package.json | jq ".version = \"$new_version\"" > temp.json + mv temp.json package.json + + cat package-lock.json | jq ".version = \"$new_version\"" > temp.json + mv temp.json package-lock.json + + else + echo >&2 "No patch type set. Aborting." + fi + +} + +echo "Bumping version ... " +bump $1 + + +