diff --git a/bamboo-specs/pom.xml b/bamboo-specs/pom.xml
index 60c0059..42e07d8 100644
--- a/bamboo-specs/pom.xml
+++ b/bamboo-specs/pom.xml
@@ -5,7 +5,7 @@
com.atlassian.bamboo
bamboo-specs-parent
- 8.0.3
+ 8.1.3
diff --git a/bamboo-specs/src/main/java/buildjob/PlanSpec.java b/bamboo-specs/src/main/java/buildjob/PlanSpec.java
index 3a84abe..e35cb1a 100644
--- a/bamboo-specs/src/main/java/buildjob/PlanSpec.java
+++ b/bamboo-specs/src/main/java/buildjob/PlanSpec.java
@@ -17,6 +17,7 @@ import com.atlassian.bamboo.specs.api.builders.plan.branches.BranchCleanup;
import com.atlassian.bamboo.specs.api.builders.plan.branches.PlanBranchManagement;
import com.atlassian.bamboo.specs.api.builders.project.Project;
import com.atlassian.bamboo.specs.builders.task.CheckoutItem;
+import com.atlassian.bamboo.specs.api.builders.Variable;
import com.atlassian.bamboo.specs.builders.task.InjectVariablesTask;
import com.atlassian.bamboo.specs.builders.task.ScriptTask;
import com.atlassian.bamboo.specs.builders.task.VcsCheckoutTask;
@@ -83,6 +84,7 @@ public class PlanSpec {
project(),
SERVICE_NAME, new BambooKey(SERVICE_KEY))
.description("Plan created from (enter repository url of your plan)")
+ .variables(new Variable("maven_add_param", ""))
.stages(new Stage("Default Stage")
.jobs(new Job("Default Job",
new BambooKey("JOB1"))
@@ -94,6 +96,7 @@ public class PlanSpec {
"rm -rf ./*"),
new VcsCheckoutTask()
.description("Checkout Default Repository")
+ .cleanCheckout(true)
.checkoutItems(new CheckoutItem().defaultRepository()),
new ScriptTask()
.description("Build")
@@ -115,9 +118,9 @@ public class PlanSpec {
.defaultRepository())
.dockerConfiguration(
new DockerConfiguration()
- .image("nexus.iqser.com:5001/infra/maven:3.6.2-jdk-13-3.0.0")
+ .image("nexus.iqser.com:5001/infra/maven:3.8.4-openjdk-17-slim")
.dockerRunArguments("--net=host")
- .volume("/etc/maven/settings.xml", "/usr/share/maven/ref/settings.xml")
+ .volume("/etc/maven/settings.xml", "/usr/share/maven/conf/settings.xml")
.volume("/var/run/docker.sock", "/var/run/docker.sock")
)
)
@@ -148,6 +151,7 @@ public class PlanSpec {
"rm -rf ./*"),
new VcsCheckoutTask()
.description("Checkout Default Repository")
+ .cleanCheckout(true)
.checkoutItems(new CheckoutItem().defaultRepository()),
new ScriptTask()
.description("Sonar")
@@ -156,9 +160,9 @@ public class PlanSpec {
.argument(SERVICE_NAME))
.dockerConfiguration(
new DockerConfiguration()
- .image("nexus.iqser.com:5001/infra/maven:3.6.2-jdk-13-3.0.0")
+ .image("nexus.iqser.com:5001/infra/maven:3.8.4-openjdk-17-slim")
.dockerRunArguments("--net=host")
- .volume("/etc/maven/settings.xml", "/usr/share/maven/ref/settings.xml")
+ .volume("/etc/maven/settings.xml", "/usr/share/maven/conf/settings.xml")
.volume("/var/run/docker.sock", "/var/run/docker.sock")
)
)
@@ -166,8 +170,7 @@ public class PlanSpec {
.linkedRepositories("RED / " + SERVICE_NAME)
.triggers(
new ScheduledTrigger()
- .scheduleOnceDaily(LocalTime.of(12, 00)),
- new BitbucketServerTrigger())
+ .scheduleOnceDaily(LocalTime.of(23, 00)))
.planBranchManagement(new PlanBranchManagement()
.createForVcsBranchMatching("release.*")
.notificationForCommitters());
diff --git a/bamboo-specs/src/main/resources/scripts/build-java.sh b/bamboo-specs/src/main/resources/scripts/build-java.sh
index 60dfe78..23282b5 100755
--- a/bamboo-specs/src/main/resources/scripts/build-java.sh
+++ b/bamboo-specs/src/main/resources/scripts/build-java.sh
@@ -3,49 +3,56 @@ set -e
SERVICE_NAME=$1
-if [[ "${bamboo_version_tag}" = "dev" ]]
-then
- ${bamboo_capability_system_builder_mvn3_Maven_3}/bin/mvn \
- -f ${bamboo_build_working_directory}/$SERVICE_NAME-v1/pom.xml \
+if [[ "$bamboo_planRepository_branchName" == "master" ]]
+then
+ branchVersion=$(cat pom.xml | grep -Eo ".*" | sed -s 's|\(.*\)\..*\(-*.*\)|\1|')
+ latestVersion=$(git tag -l $branchVersion.* | tail -n1)
+ newVersion="$(semver $latestVersion -p -i minor)"
+elif [[ "$bamboo_planRepository_branchName" == release* ]]
+then
+ branchVersion=$(echo $bamboo_planRepository_branchName | sed -s 's|release\/\([0-9]\+\.[0-9]\+\)\.x|\1|')
+ latestVersion=$(git tag -l $branchVersion.* | tail -n1)
+ newVersion="$(semver $latestVersion -p -i patch)"
+elif [[ "${bamboo_version_tag}" != "dev" ]]
+then
+ newVersion="${bamboo_version_tag}"
+else
+ mvn -f ${bamboo_build_working_directory}/$SERVICE_NAME-v1/pom.xml \
--no-transfer-progress \
+ ${bamboo_maven_add_param} \
clean install \
-Djava.security.egd=file:/dev/./urandomelse
-else
- ${bamboo_capability_system_builder_mvn3_Maven_3}/bin/mvn \
- --no-transfer-progress \
- -f ${bamboo_build_working_directory}/$SERVICE_NAME-v1/pom.xml \
- versions:set \
- -DnewVersion=${bamboo_version_tag}
- ${bamboo_capability_system_builder_mvn3_Maven_3}/bin/mvn \
- --no-transfer-progress \
- -f ${bamboo_build_working_directory}/$SERVICE_NAME-image-v1/pom.xml \
- versions:set \
- -DnewVersion=${bamboo_version_tag}
- ${bamboo_capability_system_builder_mvn3_Maven_3}/bin/mvn \
- -f ${bamboo_build_working_directory}/$SERVICE_NAME-v1/pom.xml \
- --no-transfer-progress \
- clean deploy \
- -e \
- -DdeployAtEnd=true \
- -Dmaven.wagon.http.ssl.insecure=true \
- -Dmaven.wagon.http.ssl.allowall=true \
- -Dmaven.wagon.http.ssl.ignore.validity.dates=true \
- -DaltDeploymentRepository=iqser_release::default::https://nexus.iqser.com/repository/red-platform-releases
+ echo "gitTag=${bamboo_planRepository_1_branch}_${bamboo_buildNumber}" > git.tag
+ exit 0
fi
-${bamboo_capability_system_builder_mvn3_Maven_3}/bin/mvn \
+echo "gitTag=${newVersion}" > git.tag
+
+mvn --no-transfer-progress \
+ -f ${bamboo_build_working_directory}/$SERVICE_NAME-v1/pom.xml \
+ versions:set \
+ -DnewVersion=${newVersion}
+
+mvn --no-transfer-progress \
+ -f ${bamboo_build_working_directory}/$SERVICE_NAME-image-v1/pom.xml \
+ versions:set \
+ -DnewVersion=${newVersion}
+
+mvn -f ${bamboo_build_working_directory}/$SERVICE_NAME-v1/pom.xml \
--no-transfer-progress \
+ clean deploy \
+ ${bamboo_maven_add_param} \
+ -e \
+ -DdeployAtEnd=true \
+ -Dmaven.wagon.http.ssl.insecure=true \
+ -Dmaven.wagon.http.ssl.allowall=true \
+ -Dmaven.wagon.http.ssl.ignore.validity.dates=true \
+ -DaltDeploymentRepository=iqser_release::default::https://nexus.iqser.com/repository/red-platform-releases
+
+mvn --no-transfer-progress \
-f ${bamboo_build_working_directory}/$SERVICE_NAME-image-v1/pom.xml \
package
-${bamboo_capability_system_builder_mvn3_Maven_3}/bin/mvn \
- --no-transfer-progress \
+mvn --no-transfer-progress \
-f ${bamboo_build_working_directory}/$SERVICE_NAME-image-v1/pom.xml \
- docker:push
-
-if [[ "${bamboo_version_tag}" = "dev" ]]
-then
- echo "gitTag=${bamboo_planRepository_1_branch}_${bamboo_buildNumber}" > git.tag
-else
- echo "gitTag=${bamboo_version_tag}" > git.tag
-fi
+ docker:push
\ No newline at end of file
diff --git a/bamboo-specs/src/main/resources/scripts/sonar-java.sh b/bamboo-specs/src/main/resources/scripts/sonar-java.sh
index cfad6b0..b7ade4d 100755
--- a/bamboo-specs/src/main/resources/scripts/sonar-java.sh
+++ b/bamboo-specs/src/main/resources/scripts/sonar-java.sh
@@ -3,40 +3,42 @@ set -e
SERVICE_NAME=$1
-echo "dependency-check:aggregate"
-${bamboo_capability_system_builder_mvn3_Maven_3}/bin/mvn \
+echo "build jar binaries"
+mvn -f ${bamboo_build_working_directory}/$SERVICE_NAME-v1/pom.xml \
--no-transfer-progress \
+ clean install \
+ -Djava.security.egd=file:/dev/./urandomelse
+
+echo "dependency-check:aggregate"
+mvn --no-transfer-progress \
-f ${bamboo_build_working_directory}/$SERVICE_NAME-v1/pom.xml \
org.owasp:dependency-check-maven:aggregate
if [[ -z "${bamboo_repository_pr_key}" ]]
then
echo "Sonar Scan for branch: ${bamboo_planRepository_1_branch}"
- ${bamboo_capability_system_builder_mvn3_Maven_3}/bin/mvn \
- --no-transfer-progress \
- -f ${bamboo_build_working_directory}/$SERVICE_NAME-v1/pom.xml \
- sonar:sonar \
- -Dsonar.projectKey=RED_$SERVICE_NAME \
- -Dsonar.host.url=https://sonarqube.iqser.com \
- -Dsonar.login=${bamboo_sonarqube_api_token_secret} \
- -Dsonar.branch.name=${bamboo_planRepository_1_branch} \
- -Dsonar.dependencyCheck.jsonReportPath=target/dependency-check-report.json \
- -Dsonar.dependencyCheck.xmlReportPath=target/dependency-check-report.xml \
- -Dsonar.dependencyCheck.htmlReportPath=target/dependency-check-report.html
-
+ mvn --no-transfer-progress \
+ -f ${bamboo_build_working_directory}/$SERVICE_NAME-v1/pom.xml \
+ sonar:sonar \
+ -Dsonar.projectKey=RED_$SERVICE_NAME \
+ -Dsonar.host.url=https://sonarqube.iqser.com \
+ -Dsonar.login=${bamboo_sonarqube_api_token_secret} \
+ -Dsonar.branch.name=${bamboo_planRepository_1_branch} \
+ -Dsonar.dependencyCheck.jsonReportPath=target/dependency-check-report.json \
+ -Dsonar.dependencyCheck.xmlReportPath=target/dependency-check-report.xml \
+ -Dsonar.dependencyCheck.htmlReportPath=target/dependency-check-report.html
else
echo "Sonar Scan for PR with key1: ${bamboo_repository_pr_key}"
- ${bamboo_capability_system_builder_mvn3_Maven_3}/bin/mvn \
- --no-transfer-progress \
- -f ${bamboo_build_working_directory}/$SERVICE_NAME-v1/pom.xml \
- sonar:sonar \
- -Dsonar.projectKey=RED_$SERVICE_NAME \
- -Dsonar.host.url=https://sonarqube.iqser.com \
- -Dsonar.login=${bamboo_sonarqube_api_token_secret} \
- -Dsonar.pullrequest.key=${bamboo_repository_pr_key} \
- -Dsonar.pullrequest.branch=${bamboo_repository_pr_sourceBranch} \
- -Dsonar.pullrequest.base=${bamboo_repository_pr_targetBranch} \
- -Dsonar.dependencyCheck.jsonReportPath=target/dependency-check-report.json \
- -Dsonar.dependencyCheck.xmlReportPath=target/dependency-check-report.xml \
- -Dsonar.dependencyCheck.htmlReportPath=target/dependency-check-report.html
-fi
+ mvn --no-transfer-progress \
+ -f ${bamboo_build_working_directory}/$SERVICE_NAME-v1/pom.xml \
+ sonar:sonar \
+ -Dsonar.projectKey=RED_$SERVICE_NAME \
+ -Dsonar.host.url=https://sonarqube.iqser.com \
+ -Dsonar.login=${bamboo_sonarqube_api_token_secret} \
+ -Dsonar.pullrequest.key=${bamboo_repository_pr_key} \
+ -Dsonar.pullrequest.branch=${bamboo_repository_pr_sourceBranch} \
+ -Dsonar.pullrequest.base=${bamboo_repository_pr_targetBranch} \
+ -Dsonar.dependencyCheck.jsonReportPath=target/dependency-check-report.json \
+ -Dsonar.dependencyCheck.xmlReportPath=target/dependency-check-report.xml \
+ -Dsonar.dependencyCheck.htmlReportPath=target/dependency-check-report.html
+fi
\ No newline at end of file