updated planspec

This commit is contained in:
Timo Bejan 2020-09-17 14:15:49 +03:00
parent bee32ca3c1
commit bbf130c5d7
3 changed files with 81 additions and 29 deletions

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: com.atlassian.bamboo:bamboo-specs-api:7.1.2" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains:annotations:13.0" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.4" level="project" />
<orderEntry type="library" name="Maven: com.atlassian.bamboo:bamboo-specs:7.1.2" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-validator:commons-validator:1.5.1" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.2" level="project" />
<orderEntry type="library" name="Maven: commons-digester:commons-digester:1.8.1" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.26" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.4" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.9" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
</component>
</module>

View File

@ -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")

47
versions.sh Executable file
View File

@ -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