chore: simplify build script quoting

This commit is contained in:
bstein 2025-12-18 01:53:09 -03:00
parent 2d7df564ce
commit 7c67bd31b0

69
Jenkinsfile vendored
View File

@ -131,57 +131,58 @@ PY
stage('Build & push (podman/buildah)') { stage('Build & push (podman/buildah)') {
steps { steps {
container('builder') { container('builder') {
sh """ sh '''
set -euo pipefail set -euo pipefail
export VERSIONTAG=\"${env.HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}\" VERSION_TAG="${HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}"
export BASEIMAGETAG=\"${env.HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}\" export VERSIONTAG="${VERSION_TAG}"
export IMAGENAMESPACE=\"${IMAGE_NAMESPACE}\" export BASEIMAGETAG="${VERSION_TAG}"
export BASEIMAGENAMESPACE=\"${IMAGE_NAMESPACE}\" export IMAGENAMESPACE="${IMAGE_NAMESPACE}"
export BASEIMAGENAMESPACE="${IMAGE_NAMESPACE}"
export DOCKERNETWORK=host export DOCKERNETWORK=host
export PULL_BASE_FROM_DOCKERHUB=false export PULL_BASE_FROM_DOCKERHUB=false
export BUILD_BASE=true export BUILD_BASE=true
export BUILDTRIVYADP=false export BUILDTRIVYADP=false
export BUILD_INSTALLER=true export BUILD_INSTALLER=true
export BUILDAH_ISOLATION=chroot 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 '*' git config --global --add safe.directory '*'
cd \"${env.HARBOR_SRC_DIR}\" cd "${HARBOR_SRC_DIR}"
make compile make compile
make \\ make \
VERSIONTAG=\"${env.HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}\" \\ VERSIONTAG="${VERSION_TAG}" \
BASEIMAGETAG=\"${env.HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}\" \\ BASEIMAGETAG="${VERSION_TAG}" \
IMAGENAMESPACE=\"${IMAGE_NAMESPACE}\" \\ IMAGENAMESPACE="${IMAGE_NAMESPACE}" \
BASEIMAGENAMESPACE=\"${IMAGE_NAMESPACE}\" \\ BASEIMAGENAMESPACE="${IMAGE_NAMESPACE}" \
DOCKERNETWORK=host \\ DOCKERNETWORK=host \
PULL_BASE_FROM_DOCKERHUB=false \\ PULL_BASE_FROM_DOCKERHUB=false \
BUILD_BASE=true \\ BUILD_BASE=true \
BUILDTRIVYADP=false \\ BUILDTRIVYADP=false \
BUILD_INSTALLER=true \\ BUILD_INSTALLER=true \
build build
for pair in \\ for pair in \
\"prepare:harbor-prepare\" \\ prepare:harbor-prepare \
\"redis-photon:harbor-redis\" \\ redis-photon:harbor-redis \
\"nginx-photon:harbor-nginx\" \\ nginx-photon:harbor-nginx \
\"registry-photon:harbor-registry\"; do registry-photon:harbor-registry; do
pair_src=\"\\${pair%%:*}\" pair_src="${pair%%:*}"
pair_dst=\"\\${pair##*:}\" pair_dst="${pair##*:}"
src=\"${IMAGE_NAMESPACE}/\\${pair_src}:${env.HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}\" src="${IMAGE_NAMESPACE}/${pair_src}:${VERSION_TAG}"
dst=\"${IMAGE_NAMESPACE}/\\${pair_dst}:${env.HARBOR_VERSION_RESOLVED}${TAG_SUFFIX}.${BUILD_NUMBER}\" dst="${IMAGE_NAMESPACE}/${pair_dst}:${VERSION_TAG}"
if podman image exists \"$src\"; then if podman image exists "${src}"; then
podman tag \"$src\" \"$dst\" || true podman tag "${src}" "${dst}" || true
fi fi
done done
podman images --format '{{.Repository}}:{{.Tag}}' \\ 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"$"' \\ | awk -v ns="${IMAGE_NAMESPACE}/" -v tag="${VERSION_TAG}" 'index($0, ns)==1 && $0 ~ ":"tag"$"' \
| sort -u \\ | sort -u \
| while read -r img; do | while read -r img; do
echo \"Pushing ${img}\" echo "Pushing ${img}"
podman push \"${img}\" podman push "${img}"
done done
""" '''
} }
} }
} }