fix(pipeline): add network driver option and set build timeout for buildx

Signed-off-by: 孙振宇 <>
This commit is contained in:
孙振宇 2025-02-10 05:04:59 +08:00
parent ae353ab394
commit 5939235d41

View File

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