]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
container/build.sh: remove local container images 62065/head
authorDan Mick <dan.mick@redhat.com>
Thu, 27 Feb 2025 00:16:26 +0000 (16:16 -0800)
committerDan Mick <dan.mick@redhat.com>
Fri, 28 Feb 2025 21:36:56 +0000 (13:36 -0800)
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 <dan.mick@redhat.com>
(cherry picked from commit 642e5f2da00ad7382393c2b721078bccb9f823c0)

container/build.sh

index d59d08f04a3c36ffc4032e0810a1846cbd673c83..e43179a4c597609255a7ef58dc289a8c108f3959 100755 (executable)
@@ -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
 
-