summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJose Lausuch <jalausuch@suse.com>2017-12-13 15:51:23 +0100
committerCédric Ollivier <cedric.ollivier@orange.com>2017-12-23 15:09:07 +0100
commitf9e71426234fb0303b937d63cfa0020d4b24a267 (patch)
tree39bb13944c72230aa6b8339f830dbeb382d9551f
parent8d28a8282aaf9aa738e7d43c2bf65ec0d4f20b6a (diff)
Clean Docker images after builds
Compared to the related Releng script, it only focuses on cleaning images. It's considered out of scope to remove remaining docker containers. It doesn't force to remove images because base images (e.g. Alpine) could be selected by other OPNFV projects too. It ensures O is returned even if one image cannot be removed. functest-core is removed at the end because all Functest containers depend on it. The script works well in a nominal building env. Any remaining Functest images or containers must be removed by hand. Conflicts: build.sh JIRA: FUNCTEST-898 Co-Authored-By: Cédric Ollivier <cedric.ollivier@orange.com> Change-Id: I72d8214b711680ec7958af1d427b23dee6337bf6 Signed-off-by: Jose Lausuch <jalausuch@suse.com> Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 98a942469134fcc3f91b6658a6fbb256d9d89518)
-rw-r--r--build.sh4
1 files changed, 4 insertions, 0 deletions
diff --git a/build.sh b/build.sh
index c509a7335..ff582f195 100644
--- a/build.sh
+++ b/build.sh
@@ -20,7 +20,9 @@ find . -name Dockerfile -exec sed -i -e "s|opnfv/functest-core:euphrates|${repo}
for dir in ${amd64_dirs}; do
(cd "${dir}" && docker build "${build_opts[@]}" -t "${repo}/functest-${dir##**/}:amd64-euphrates" .)
docker push "${repo}/functest-${dir##**/}:amd64-euphrates"
+ [ "${dir}" != "docker/core" ] && docker rmi "${repo}/functest-${dir##**/}:amd64-euphrates" || true
done
+docker rmi "${repo}/functest-core:amd64-euphrates" alpine:3.6 || true
find . -name Dockerfile -exec git checkout {} +
find . -name Dockerfile -exec sed -i -e "s|alpine:3.6|multiarch/alpine:arm64-v3.6|g" {} +
@@ -28,7 +30,9 @@ find . -name Dockerfile -exec sed -i -e "s|opnfv/functest-core:euphrates|${repo}
for dir in ${arm64_dirs}; do
(cd "${dir}" && docker build "${build_opts[@]}" -t "${repo}/functest-${dir##**/}:arm64-euphrates" .)
docker push "${repo}/functest-${dir##**/}:arm64-euphrates"
+ [ "${dir}" != "docker/core" ] && docker rmi "${repo}/functest-${dir##**/}:arm64-euphrates" || true
done
+docker rmi "${repo}/functest-core:arm64-euphrates" multiarch/alpine:arm64-v3.6 || true
find . -name Dockerfile -exec git checkout {} +
exit $?