aboutsummaryrefslogtreecommitdiffstats
path: root/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build.sh')
-rw-r--r--build.sh34
1 files changed, 29 insertions, 5 deletions
diff --git a/build.sh b/build.sh
index 48587215..e99cf2ad 100644
--- a/build.sh
+++ b/build.sh
@@ -13,22 +13,46 @@ arch=${arch-"\
amd64 \
arm64 \
arm"}
+amd64_dirs=${amd64_dirs-"\
+docker/core \
+docker/mts"}
+arm_dirs=${arm_dirs-${amd64_dirs}}
+arm64_dirs=${arm64_dirs-${amd64_dirs}}
image="xtesting"
build_opts=(--pull=true --no-cache --force-rm=true)
-for arch in ${arch};do
+for arch in ${arch}; do
if [[ ${arch} == arm64 ]]; then
find . -name Dockerfile -exec sed -i \
-e "s|alpine:3.9|arm64v8/alpine:3.9|g" {} +
+ find . -name Dockerfile -exec sed -i \
+ -e "s|opnfv/xtesting:${tag}|${repo}/xtesting:arm64-${tag}|g" {} +
elif [[ ${arch} == arm ]]; then
find . -name Dockerfile -exec sed -i \
-e "s|alpine:3.9|arm32v6/alpine:3.9|g" {} +
+ find . -name Dockerfile -exec sed -i \
+ -e "s|opnfv/xtesting:${tag}|${repo}/xtesting:arm-${tag}|g" {} +
+ else
+ find . -name Dockerfile -exec sed -i \
+ -e "s|opnfv/xtesting:${tag}|${repo}/xtesting:amd64-${tag}|g" {} +
fi
- (cd docker && docker build "${build_opts[@]}" \
- -t "${repo}/${image}:${arch}-${tag}" .)
- docker push "${repo}/${image}:${arch}-${tag}"
+ dirs=${arch}_dirs
+ for dir in ${!dirs}; do
+ if [[ ${dir} == docker/core ]]; then
+ image=xtesting
+ else
+ image=xtesting-${dir##**/}
+ fi
+ (cd "${dir}" &&
+ docker build "${build_opts[@]}" \
+ -t "${repo}/${image}:${arch}-${tag}" . &&
+ docker push "${repo}/${image}:${arch}-${tag}")
+ [ "${dir}" != "docker/core" ] &&
+ (docker rmi \
+ "${repo}/${image}:${arch}-${tag}" || true)
+ done
[ "$?" == "0" ] &&
- (sudo docker rmi "${repo}/${image}:${arch}-${tag}"|| true)
+ (sudo docker rmi "${repo}/xtesting:${arch}-${tag}"|| true)
find . -name Dockerfile -exec git checkout \{\} +;
done
exit $?