From 5939235d4176bf01c8bcdf93cd927f3442ca85ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E6=8C=AF=E5=AE=87?= <> Date: Mon, 10 Feb 2025 05:04:59 +0800 Subject: [PATCH] fix(pipeline): add network driver option and set build timeout for buildx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 孙振宇 <> --- .../src/com/freeleaps/devops/ImageBuilder.groovy | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/first-class-pipeline/src/com/freeleaps/devops/ImageBuilder.groovy b/first-class-pipeline/src/com/freeleaps/devops/ImageBuilder.groovy index 6ab1d1d1..cb6415b6 100644 --- a/first-class-pipeline/src/com/freeleaps/devops/ImageBuilder.groovy +++ b/first-class-pipeline/src/com/freeleaps/devops/ImageBuilder.groovy @@ -58,7 +58,7 @@ class ImageBuilder { if (builderType == ImageBuilderTypes.DOCKER_IN_DOCKER && architectures.size() > 1) { steps.log.warn("ImageBuilder", "If you want to build multi-arch images and using Docker in Docker (DIND) as builder, system will using buildx to replace build command.") steps.log.info("ImageBuilder", "Creating buildx builder with name: multiarch-builder-${name}") - steps.sh "docker buildx create --use --name multiarch-builder-${name} --platform ${architectures.join(",")}" + steps.sh "docker buildx create --use --name multiarch-builder-${name} --platform ${architectures.join(",")} --driver-opt network=host" steps.log.info("ImageBuilder", "Inspecting buildx builder with name: multiarch-builder-${name}") steps.sh "docker buildx inspect --bootstrap" this.buildxBuilderName = "multiarch-builder-${name}" @@ -111,6 +111,8 @@ class ImageBuilder { steps.log.info("ImageBuilder", "Building image ${registry}/${repository}/${name} with architectures: ${architectures} using buildx builder: ${buildxBuilderName}, tag sets to ${version}") steps.log.info("ImageBuilder", "Set builder log level to plain...") steps.env.BUILDKIT_PROGRESS = "plain" + steps.log.info("ImageBuilder", "Set builder timeout to 10min...") + steps.env.BUILDKIT_TIMEOUT = "1800s" steps.sh "docker buildx build --builder ${buildxBuilderName} --platform ${architectures.join(",")} -t ${registry}/${repository}/${name}:${version} -f ${dockerfile} --push ${contextRoot}" } else { architectures.each { architecture ->