Deploy Clearwater IMS using Kubernetes
[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 docker/features"}
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:hunter|\
18 ${repo}/functest-kubernetes-core:amd64-hunter|g" {} +
19 find . -name Dockerfile -exec sed -i \
20     -e "s|opnfv/functest-kubernetes-healthcheck:hunter|\
21 ${repo}/functest-kubernetes-healthcheck:amd64-hunter|g" {} +
22 for dir in ${amd64_dirs}; do
23     (cd "${dir}" &&
24         docker build "${build_opts[@]}" \
25             -t "${repo}/functest-kubernetes-${dir##**/}:amd64-hunter" .)
26         docker push "${repo}/functest-kubernetes-${dir##**/}:amd64-hunter"
27     [ "${dir}" != "docker/core" ] &&
28         (docker rmi \
29             "${repo}/functest-kubernetes-${dir##**/}:amd64-hunter" || true)
30 done
31 [ ! -z "${amd64_dirs}" ] &&
32     (docker rmi \
33         "${repo}/functest-kubernetes-core:amd64-hunter" \
34         golang:1.11-alpine3.9 || true)
35 find . -name Dockerfile -exec git checkout {} +
36
37 find . -name Dockerfile -exec sed -i \
38     -e "s|golang:1.11-alpine3.9|arm64v8/golang:1.11-alpine3.9|g" {} +
39 find . -name Dockerfile -exec sed -i \
40     -e "s|opnfv/functest-kubernetes-core:hunter|\
41 ${repo}/functest-kubernetes-core:arm64-hunter|g" {} +
42 find . -name Dockerfile -exec sed -i \
43     -e "s|opnfv/functest-kubernetes-healthcheck:hunter|\
44 ${repo}/functest-kubernetes-healthcheck:arm64-hunter|g" {} +
45 for dir in ${arm64_dirs}; do
46     (cd "${dir}" && docker build "${build_opts[@]}" \
47         -t "${repo}/functest-kubernetes-${dir##**/}:arm64-hunter" .)
48     docker push "${repo}/functest-kubernetes-${dir##**/}:arm64-hunter"
49     [ "${dir}" != "docker/core" ] &&
50         (docker rmi \
51             "${repo}/functest-kubernetes-${dir##**/}:arm64-hunter" || true)
52 done
53 [ ! -z "${arm64_dirs}" ] &&
54     (docker rmi "${repo}/functest-kubernetes-core:arm64-hunter" \
55         arm64v8/golang:1.11-alpine3.9 || true)
56 find . -name Dockerfile -exec git checkout {} +
57
58 exit $?