From 04bbf9c7f05e3a81326300359b41ea320ed70edb Mon Sep 17 00:00:00 2001 From: Dan Mick Date: Wed, 26 Feb 2025 16:16:26 -0800 Subject: [PATCH] container/build.sh: remove local container images Optionally, for those that want to run build.sh locally and use the images. The default is to remove, for Jenkins builders, which will build, push, and rmi. Fixes: https://tracker.ceph.com/issues/70196 Signed-off-by: Dan Mick (cherry picked from commit 642e5f2da00ad7382393c2b721078bccb9f823c0) --- container/build.sh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/container/build.sh b/container/build.sh index d59d08f04a3c3..e43179a4c5976 100755 --- a/container/build.sh +++ b/container/build.sh @@ -4,6 +4,8 @@ # repo auth with write perms must be present (this script does not log into # repos named by CONTAINER_REPO_*). # If NO_PUSH is set, no login is necessary +# If REMOVE_LOCAL_IMAGES is true (the default), local images are removed +# after push. If you want to save local image copies, set this to false. CFILE=${1:-Containerfile} @@ -25,11 +27,13 @@ CONTAINER_REPO_USERNAME CONTAINER_REPO_PASSWORD PRERELEASE_USERNAME for download.ceph.com:/prerelease/ceph PRERELEASE_PASSWORD +REMOVE_LOCAL_IMAGES set to 'false' if you want to keep local images For a release build: (from ceph.git, built and pushed to download.ceph.com) CI_CONTAINER: must be 'false' and you must also add VERSION (for instance, 19.1.0) for tagging the image +REMOVE_LOCAL_IMAGES set to 'false' if you want to keep local images You can avoid the push step (for testing) by setting NO_PUSH to anything EOF @@ -48,6 +52,7 @@ REPO_ARCH=amd64 if [[ "${ARCH}" = arm64 ]] ; then REPO_ARCH=arm64 fi +REMOVE_LOCAL_IMAGES=${REMOVE_LOCAL_IMAGES:-true} if [[ ${CI_CONTAINER} == "true" ]] ; then CONTAINER_REPO_HOSTNAME=${CONTAINER_REPO_HOSTNAME:-quay.ceph.io} @@ -67,6 +72,7 @@ fi : "${BRANCH:?}" : "${CEPH_SHA1:?}" : "${ARCH:?}" +: "${REMOVE_LOCAL_IMAGES:?}" if [[ ${NO_PUSH} != "true" ]] ; then : "${CONTAINER_REPO_HOSTNAME:?}" : "${CONTAINER_REPO_ORGANIZATION:?}" @@ -173,6 +179,9 @@ if [[ ${CI_CONTAINER} == "true" ]] ; then podman tag ${image_id} ${sha1_flavor_repo_tag} if [[ -z "${NO_PUSH}" ]] ; then podman push ${sha1_flavor_repo_tag} + if [[ ${REMOVE_LOCAL_IMAGES} == "true" ]] ; then + podman rmi -f ${sha1_flavor_repo_tag} + fi fi exit fi @@ -181,6 +190,9 @@ if [[ ${CI_CONTAINER} == "true" ]] ; then podman push ${full_repo_tag} podman push ${branch_repo_tag} podman push ${sha1_repo_tag} + if [[ ${REMOVE_LOCAL_IMAGES} == "true" ]] ; then + podman rmi -f ${full_repo_tag} ${branch_repo_tag} ${sha1_repo_tag} + fi fi else # @@ -192,7 +204,9 @@ else podman tag ${image_id} ${version_tag} if [[ -z "${NO_PUSH}" ]] ; then podman push ${version_tag} + if [[ ${REMOVE_LOCAL_IMAGES} == "true" ]] ; then + podman rmi -f ${version_tag} + fi fi fi - -- 2.39.5