Skip to content

Commit 0931ccc

Browse files
authored
Refactor distribution build job (#5192)
Signed-off-by: Rishabh Singh <sngri@amazon.com>
1 parent 7d2ae0b commit 0931ccc

File tree

2 files changed

+92
-69
lines changed

2 files changed

+92
-69
lines changed

jenkins/opensearch-dashboards/distribution-build.jenkinsfile

+45-34
Original file line numberDiff line numberDiff line change
@@ -872,44 +872,55 @@ pipeline {
872872
}
873873
}
874874
}
875-
}
876-
}
877-
stage('docker build') {
878-
when {
879-
beforeAgent true
880-
allOf {
881-
expression {
882-
params.BUILD_DOCKER != 'do_not_build_docker'
875+
stage('docker build') {
876+
when {
877+
beforeAgent true
878+
allOf {
879+
expression {
880+
params.BUILD_DOCKER != 'do_not_build_docker'
881+
}
882+
expression {
883+
params.BUILD_PLATFORM.contains('linux')
884+
}
885+
expression {
886+
params.BUILD_DISTRIBUTION.contains('tar')
887+
}
888+
}
883889
}
884-
expression {
885-
params.BUILD_PLATFORM.contains('linux')
890+
options {
891+
timeout(time: 90, unit: 'MINUTES')
886892
}
887-
expression {
888-
params.BUILD_DISTRIBUTION.contains('tar')
893+
agent {
894+
docker {
895+
label AGENT_LINUX_X64
896+
image dockerAgent.image
897+
args dockerAgent.args
898+
registryUrl 'https://public.ecr.aws/'
899+
alwaysPull true
900+
}
889901
}
890-
}
891-
}
892-
agent {
893-
docker {
894-
label AGENT_LINUX_X64
895-
image dockerAgent.image
896-
args dockerAgent.args
897-
registryUrl 'https://public.ecr.aws/'
898-
alwaysPull true
899-
}
900-
}
901-
steps {
902-
script {
903-
echo "env.ARTIFACT_URL_LINUX_X64_TAR: ${env.ARTIFACT_URL_LINUX_X64_TAR}"
904-
echo "env.ARTIFACT_URL_LINUX_ARM64_TAR: ${env.ARTIFACT_URL_LINUX_ARM64_TAR}"
902+
steps {
903+
script {
904+
while(true) {
905+
if (env.ARTIFACT_URL_LINUX_X64_TAR != null && env.ARTIFACT_URL_LINUX_ARM64_TAR != null) {
906+
echo "env.ARTIFACT_URL_LINUX_X64_TAR: ${env.ARTIFACT_URL_LINUX_X64_TAR}"
907+
echo "env.ARTIFACT_URL_LINUX_ARM64_TAR: ${env.ARTIFACT_URL_LINUX_ARM64_TAR}"
905908

906-
buildDockerImage(
907-
inputManifest: "manifests/${INPUT_MANIFEST}",
908-
buildNumber: "${BUILD_NUMBER}",
909-
buildOption: "${BUILD_DOCKER}",
910-
artifactUrlX64: env.ARTIFACT_URL_LINUX_X64_TAR,
911-
artifactUrlArm64: env.ARTIFACT_URL_LINUX_ARM64_TAR
912-
)
909+
buildDockerImage(
910+
inputManifest: "manifests/${INPUT_MANIFEST}",
911+
buildNumber: "${BUILD_NUMBER}",
912+
buildOption: "${BUILD_DOCKER}",
913+
artifactUrlX64: env.ARTIFACT_URL_LINUX_X64_TAR,
914+
artifactUrlArm64: env.ARTIFACT_URL_LINUX_ARM64_TAR
915+
)
916+
break
917+
} else {
918+
echo "Waiting for x64 and arm64 tar builds to complete, sleeping 120 seconds..."
919+
sleep(time: 120, unit: 'SECONDS')
920+
}
921+
}
922+
}
923+
}
913924
}
914925
}
915926
}

jenkins/opensearch/distribution-build.jenkinsfile

+47-35
Original file line numberDiff line numberDiff line change
@@ -659,7 +659,7 @@ pipeline {
659659
expression {
660660
params.BUILD_DISTRIBUTION.contains('deb')
661661
}
662-
662+
663663
}
664664
agent { label AGENT_LINUX_ARM64 }
665665
stages {
@@ -834,41 +834,53 @@ pipeline {
834834
}
835835
}
836836
}
837-
}
838-
}
839-
stage('docker build') {
840-
when {
841-
beforeAgent true
842-
allOf {
843-
expression {
844-
params.BUILD_DOCKER != 'do_not_build_docker'
837+
stage('docker build') {
838+
when {
839+
beforeAgent true
840+
allOf {
841+
expression {
842+
params.BUILD_DOCKER != 'do_not_build_docker'
843+
}
844+
expression {
845+
params.BUILD_PLATFORM.contains('linux')
846+
}
847+
}
845848
}
846-
expression {
847-
params.BUILD_PLATFORM.contains('linux')
849+
options {
850+
timeout(time: 90, unit: 'MINUTES')
851+
}
852+
agent {
853+
docker {
854+
label AGENT_LINUX_X64
855+
image dockerAgent.image
856+
args dockerAgent.args
857+
registryUrl 'https://public.ecr.aws/'
858+
alwaysPull true
859+
}
860+
}
861+
steps {
862+
script {
863+
while (true){
864+
if (env.ARTIFACT_URL_LINUX_X64_TAR != null && env.ARTIFACT_URL_LINUX_ARM64_TAR != null) {
865+
echo "env.ARTIFACT_URL_LINUX_X64_TAR: ${env.ARTIFACT_URL_LINUX_X64_TAR}"
866+
echo "env.ARTIFACT_URL_LINUX_ARM64_TAR: ${env.ARTIFACT_URL_LINUX_ARM64_TAR}"
867+
buildDockerImage(
868+
inputManifest: "manifests/${INPUT_MANIFEST}",
869+
buildNumber: "${BUILD_NUMBER}",
870+
buildOption: "${BUILD_DOCKER}",
871+
artifactUrlX64: env.ARTIFACT_URL_LINUX_X64_TAR,
872+
artifactUrlArm64: env.ARTIFACT_URL_LINUX_ARM64_TAR
873+
)
874+
break
875+
} else {
876+
echo "Waiting for x64 and arm64 tar builds to complete, sleeping 120 seconds..."
877+
sleep(time: 120, unit: 'SECONDS')
878+
879+
}
880+
}
881+
882+
}
848883
}
849-
}
850-
}
851-
agent {
852-
docker {
853-
label AGENT_LINUX_X64
854-
image dockerAgent.image
855-
args dockerAgent.args
856-
registryUrl 'https://public.ecr.aws/'
857-
alwaysPull true
858-
}
859-
}
860-
steps {
861-
script {
862-
echo "env.ARTIFACT_URL_LINUX_X64_TAR: ${env.ARTIFACT_URL_X64_TAR}"
863-
echo "env.ARTIFACT_URL_LINUX_ARM64_TAR: ${env.ARTIFACT_URL_ARM64_TAR}"
864-
865-
buildDockerImage(
866-
inputManifest: "manifests/${INPUT_MANIFEST}",
867-
buildNumber: "${BUILD_NUMBER}",
868-
buildOption: "${BUILD_DOCKER}",
869-
artifactUrlX64: env.ARTIFACT_URL_LINUX_X64_TAR,
870-
artifactUrlArm64: env.ARTIFACT_URL_LINUX_ARM64_TAR
871-
)
872884
}
873885
}
874886
}
@@ -896,7 +908,7 @@ pipeline {
896908
}
897909
postCleanup()
898910
}
899-
911+
900912
}
901913
}
902914
success {

0 commit comments

Comments
 (0)