7074e0f33f776e7ed1953f2e77389cdbc0adf1db
[functest-kubernetes.git] / build.sh
1 #!/bin/bash
2
3 set -e
4
5 repo=${REPO:-opnfv}
6 amd64_dirs=${amd64_dirs-"\
7 docker/core \
8 docker/healthcheck \
9 docker/smoke \
10 docker/cnf \
11 docker/security"}
12 arm_dirs=${arm_dirs-${amd64_dirs}}
13 arm64_dirs=${arm64_dirs-${amd64_dirs}}
14 build_opts=(--pull=true --no-cache --force-rm=true)
15
16 find . -name Dockerfile -exec sed -i \
17     -e "s|opnfv/functest-kubernetes-core:jerma|\
18 ${repo}/functest-kubernetes-core:amd64-jerma|g" {} +
19 find . -name Dockerfile -exec sed -i \
20     -e "s|opnfv/functest-kubernetes-healthcheck:jerma|\
21 ${repo}/functest-kubernetes-healthcheck:amd64-jerma|g" {} +
22 for dir in ${amd64_dirs}; do
23     (cd "${dir}" &&
24         docker build "${build_opts[@]}" \
25             -t "${repo}/functest-kubernetes-${dir##**/}:amd64-jerma" .)
26         docker push "${repo}/functest-kubernetes-${dir##**/}:amd64-jerma"
27     [ "${dir}" != "docker/core" ] &&
28         (docker rmi \
29             "${repo}/functest-kubernetes-${dir##**/}:amd64-jerma" || true)
30 done
31 [ ! -z "${amd64_dirs}" ] &&
32     (docker rmi \
33         "${repo}/functest-kubernetes-core:amd64-jerma" \
34         alpine:3.10 || true)
35 find . -name Dockerfile -exec git checkout {} +
36
37 find . -name Dockerfile -exec sed -i \
38     -e "s|alpine:3.10|arm64v8/alpine:3.10|g" {} +
39 find . -name Dockerfile -exec sed -i \
40     -e "s|opnfv/functest-kubernetes-core:jerma|\
41 ${repo}/functest-kubernetes-core:arm64-jerma|g" {} +
42 find . -name Dockerfile -exec sed -i \
43     -e "s|opnfv/functest-kubernetes-healthcheck:jerma|\
44 ${repo}/functest-kubernetes-healthcheck:arm64-jerma|g" {} +
45 for dir in ${arm64_dirs}; do
46     (cd "${dir}" && docker build "${build_opts[@]}" \
47         -t "${repo}/functest-kubernetes-${dir##**/}:arm64-jerma" .)
48     docker push "${repo}/functest-kubernetes-${dir##**/}:arm64-jerma"
49     [ "${dir}" != "docker/core" ] &&
50         (docker rmi \
51             "${repo}/functest-kubernetes-${dir##**/}:arm64-jerma" || true)
52 done
53 [ ! -z "${arm64_dirs}" ] &&
54     (docker rmi "${repo}/functest-kubernetes-core:arm64-jerma" \
55         arm64v8/alpine:3.10 || true)
56 find . -name Dockerfile -exec git checkout {} +
57
58 find . -name Dockerfile -exec sed -i \
59     -e "s|alpine:3.10|arm32v7/alpine:3.10|g" {} +
60 find . -name Dockerfile -exec sed -i \
61     -e "s|opnfv/functest-kubernetes-core:jerma|\
62 ${repo}/functest-kubernetes-core:arm-jerma|g" {} +
63 find . -name Dockerfile -exec sed -i \
64     -e "s|opnfv/functest-kubernetes-healthcheck:jerma|\
65 ${repo}/functest-kubernetes-healthcheck:arm-jerma|g" {} +
66 for dir in ${arm_dirs}; do
67     (cd "${dir}" && docker build "${build_opts[@]}" \
68         -t "${repo}/functest-kubernetes-${dir##**/}:arm-jerma" .)
69     docker push "${repo}/functest-kubernetes-${dir##**/}:arm-jerma"
70     [ "${dir}" != "docker/core" ] &&
71         (docker rmi \
72             "${repo}/functest-kubernetes-${dir##**/}:arm-jerma" || true)
73 done
74 [ ! -z "${arm_dirs}" ] &&
75     (docker rmi "${repo}/functest-kubernetes-core:arm-jerma" \
76         arm32v7/alpine:3.10 || true)
77 find . -name Dockerfile -exec git checkout {} +
78
79 exit $?