diff options
author | Cédric Ollivier <cedric.ollivier@orange.com> | 2017-10-11 05:29:11 +0200 |
---|---|---|
committer | Cédric Ollivier <cedric.ollivier@orange.com> | 2017-10-12 14:14:20 +0200 |
commit | ed777b643b05fbb71851df0b883483e0bcaa4ac1 (patch) | |
tree | bce5490bbcf9fe4b31cceb0b516c7973a85071fc /build.sh | |
parent | cb52dd523c58a6567b53ea5b79169295e1471117 (diff) |
Allow building aarch64 images
It must be noted that Docker automated build cannot create these
images as the prerequisites are unmet to cross-compile [1].
It also publishes a travis config file [2].
[1] https://www.kernel.org/doc/html/v4.11/admin-guide/binfmt-misc.html
[2] https://travis-ci.org/collivier/functest/builds/286932633
Change-Id: I11fdef410cc40989132205a098410175f789fdef
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Diffstat (limited to 'build.sh')
-rw-r--r-- | build.sh | 23 |
1 files changed, 16 insertions, 7 deletions
@@ -3,7 +3,7 @@ set -e repo=${repo:-opnfv} -dirs="\ +x86_64_dirs=${x86_64_dirs-"\ docker/core \ docker/healthcheck \ docker/smoke \ @@ -11,14 +11,23 @@ docker/features \ docker/components \ docker/vnf \ docker/parser \ -docker/restapi" +docker/restapi"} +aarch64_dirs=${aarch64_dirs-$(echo "${x86_64_dirs}" | sed -e "s|docker/vnf||" \ + -e "s|docker/restapi||")} -(cd docker && docker build -t "${repo}/functest" .) -docker push "${repo}/functest" +find . -name Dockerfile -exec sed -i -e "s|opnfv/functest-core|${repo}/functest-core:x86_64-latest|g" {} + +for dir in ${x86_64_dirs}; do + (cd "${dir}" && docker build -t "${repo}/functest-${dir##**/}:x86_64-latest" .) + docker push "${repo}/functest-${dir##**/}:x86_64-latest" +done +find . -name Dockerfile -exec git checkout {} + -for dir in ${dirs}; do - (cd ${dir} && docker build -t "${repo}/functest-${dir##**/}" .) - docker push "${repo}/functest-${dir##**/}" +find . -name Dockerfile -exec sed -i -e "s|alpine:3.6|multiarch/alpine:aarch64-v3.6|g" {} + +find . -name Dockerfile -exec sed -i -e "s|opnfv/functest-core|${repo}/functest-core:aarch64-latest|g" {} + +for dir in ${aarch64_dirs}; do + (cd "${dir}" && docker build -t "${repo}/functest-${dir##**/}:aarch64-latest" .) + docker push "${repo}/functest-${dir##**/}:aarch64-latest" done +find . -name Dockerfile -exec git checkout {} + exit $? |