From 7c67bd31b0cc79e93e0781655b9a9d15d79e4ed0 Mon Sep 17 00:00:00 2001 From: bstein Date: Thu, 18 Dec 2025 01:53:09 -0300 Subject: [PATCH] chore: simplify build script quoting --- Jenkinsfile | 69 +++++++++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5ce94ac..8c50dee 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -131,57 +131,58 @@ PY stage('Build & push (podman/buildah)') { steps { container('builder') { - sh """ + sh ''' set -euo pipefail - export VERSIONTAG=\"${env.HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}\" - export BASEIMAGETAG=\"${env.HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}\" - export IMAGENAMESPACE=\"${IMAGE_NAMESPACE}\" - export BASEIMAGENAMESPACE=\"${IMAGE_NAMESPACE}\" + VERSION_TAG="${HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}" + export VERSIONTAG="${VERSION_TAG}" + export BASEIMAGETAG="${VERSION_TAG}" + export IMAGENAMESPACE="${IMAGE_NAMESPACE}" + export BASEIMAGENAMESPACE="${IMAGE_NAMESPACE}" export DOCKERNETWORK=host export PULL_BASE_FROM_DOCKERHUB=false export BUILD_BASE=true export BUILDTRIVYADP=false export BUILD_INSTALLER=true export BUILDAH_ISOLATION=chroot - export REGISTRY_AUTH_FILE=\"${DOCKER_CONFIG}/config.json\" + export REGISTRY_AUTH_FILE="${DOCKER_CONFIG}/config.json" git config --global --add safe.directory '*' - cd \"${env.HARBOR_SRC_DIR}\" + cd "${HARBOR_SRC_DIR}" make compile - make \\ - VERSIONTAG=\"${env.HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}\" \\ - BASEIMAGETAG=\"${env.HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}\" \\ - IMAGENAMESPACE=\"${IMAGE_NAMESPACE}\" \\ - BASEIMAGENAMESPACE=\"${IMAGE_NAMESPACE}\" \\ - DOCKERNETWORK=host \\ - PULL_BASE_FROM_DOCKERHUB=false \\ - BUILD_BASE=true \\ - BUILDTRIVYADP=false \\ - BUILD_INSTALLER=true \\ + make \ + VERSIONTAG="${VERSION_TAG}" \ + BASEIMAGETAG="${VERSION_TAG}" \ + IMAGENAMESPACE="${IMAGE_NAMESPACE}" \ + BASEIMAGENAMESPACE="${IMAGE_NAMESPACE}" \ + DOCKERNETWORK=host \ + PULL_BASE_FROM_DOCKERHUB=false \ + BUILD_BASE=true \ + BUILDTRIVYADP=false \ + BUILD_INSTALLER=true \ build - for pair in \\ - \"prepare:harbor-prepare\" \\ - \"redis-photon:harbor-redis\" \\ - \"nginx-photon:harbor-nginx\" \\ - \"registry-photon:harbor-registry\"; do - pair_src=\"\\${pair%%:*}\" - pair_dst=\"\\${pair##*:}\" - src=\"${IMAGE_NAMESPACE}/\\${pair_src}:${env.HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}\" - dst=\"${IMAGE_NAMESPACE}/\\${pair_dst}:${env.HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}\" - if podman image exists \"$src\"; then - podman tag \"$src\" \"$dst\" || true + for pair in \ + prepare:harbor-prepare \ + redis-photon:harbor-redis \ + nginx-photon:harbor-nginx \ + registry-photon:harbor-registry; do + pair_src="${pair%%:*}" + pair_dst="${pair##*:}" + src="${IMAGE_NAMESPACE}/${pair_src}:${VERSION_TAG}" + dst="${IMAGE_NAMESPACE}/${pair_dst}:${VERSION_TAG}" + if podman image exists "${src}"; then + podman tag "${src}" "${dst}" || true fi done - podman images --format '{{.Repository}}:{{.Tag}}' \\ - | awk -v ns=\"${IMAGE_NAMESPACE}/\" -v tag=\"${env.HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}\" 'index($0, ns)==1 && $0 ~ ":"tag"$"' \\ - | sort -u \\ + podman images --format '{{.Repository}}:{{.Tag}}' \ + | awk -v ns="${IMAGE_NAMESPACE}/" -v tag="${VERSION_TAG}" 'index($0, ns)==1 && $0 ~ ":"tag"$"' \ + | sort -u \ | while read -r img; do - echo \"Pushing ${img}\" - podman push \"${img}\" + echo "Pushing ${img}" + podman push "${img}" done - """ + ''' } } }