aboutsummaryrefslogtreecommitdiffstats
path: root/build.sh
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 14:58:17 +0100
commit98a942469134fcc3f91b6658a6fbb256d9d89518 (patch)
tree9668acef54f060993d91d46050a904742e56e36a /build.sh
parent9545e4cd5f16805adf2caadf348432ca1e8d9cd7 (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. 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>
Diffstat (limited to 'build.sh')
-rw-r--r--build.sh4
1 files changed, 4 insertions, 0 deletions
diff --git a/build.sh b/build.sh
index 9041615cc..f9a94652e 100644
--- a/build.sh
+++ b/build.sh
@@ -20,7 +20,9 @@ find . -name Dockerfile -exec sed -i -e "s|opnfv/functest-core|${repo}/functest-
for dir in ${amd64_dirs}; do
(cd "${dir}" && docker build "${build_opts[@]}" -t "${repo}/functest-${dir##**/}:amd64-latest" .)
docker push "${repo}/functest-${dir##**/}:amd64-latest"
+ [ "${dir}" != "docker/core" ] && docker rmi "${repo}/functest-${dir##**/}:amd64-latest" || true
done
+docker rmi "${repo}/functest-core:amd64-latest" 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|${repo}/functest-
for dir in ${arm64_dirs}; do
(cd "${dir}" && docker build "${build_opts[@]}" -t "${repo}/functest-${dir##**/}:arm64-latest" .)
docker push "${repo}/functest-${dir##**/}:arm64-latest"
+ [ "${dir}" != "docker/core" ] && docker rmi "${repo}/functest-${dir##**/}:arm64-latest" || true
done
+docker rmi "${repo}/functest-core:arm64-latest" multiarch/alpine:arm64-v3.6 || true
find . -name Dockerfile -exec git checkout {} +
exit $?