Skip to content

Commit

Permalink
Added docker-build to build and push to docker hub
Browse files Browse the repository at this point in the history
  • Loading branch information
Kexkey committed Oct 2, 2020
1 parent 39c4219 commit 8dedfe0
Showing 1 changed file with 59 additions and 0 deletions.
59 changes: 59 additions & 0 deletions docker-build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#!/bin/sh

# Must be logged to docker hub:
# docker login -u cyphernode

# Must enable experimental cli features
# "experimental": "enabled" in ~/.docker/config.json

image() {
local arch=$1

echo "Building and pushing cyphernode/batcher for $arch tagging as ${version}..."

docker build --no-cache -t cyphernode/batcher:${arch}-${version} . \
&& docker push cyphernode/batcher:${arch}-${version}

return $?
}

manifest() {
echo "Creating and pushing manifest for cyphernode/batcher for version ${version}..."

docker manifest create cyphernode/batcher:${version} \
cyphernode/batcher:${x86_docker}-${version} \
cyphernode/batcher:${arm_docker}-${version} \
cyphernode/batcher:${aarch64_docker}-${version} \
&& docker manifest annotate cyphernode/batcher:${version} cyphernode/batcher:${arm_docker}-${version} --os linux --arch ${arm_docker} \
&& docker manifest annotate cyphernode/batcher:${version} cyphernode/batcher:${x86_docker}-${version} --os linux --arch ${x86_docker} \
&& docker manifest annotate cyphernode/batcher:${version} cyphernode/batcher:${aarch64_docker}-${version} --os linux --arch ${aarch64_docker} \
&& docker manifest push -p cyphernode/batcher:${version}

return $?
}

x86_docker="amd64"
arm_docker="arm"
aarch64_docker="arm64"

# Build amd64 and arm64 first, building for arm will trigger the manifest creation and push on hub

#arch_docker=${arm_docker}
#arch_docker=${aarch64_docker}
arch_docker=${x86_docker}

version="v0.1.0-rc.1"

echo "arch_docker=$arch_docker"

image ${arch_docker}

[ $? -ne 0 ] && echo "Error" && exit 1

[ "${arch_docker}" = "${x86_docker}" ] && echo "Built and pushed ${arch_docker} only" && exit 0
[ "${arch_docker}" = "${aarch64_docker}" ] && echo "Built and pushed ${arch_docker} only" && exit 0
[ "${arch_docker}" = "${arm_docker}" ] && echo "Built and pushed images, now building and pushing manifest for all archs..."

manifest

[ $? -ne 0 ] && echo "Error" && exit 1

0 comments on commit 8dedfe0

Please sign in to comment.