-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild
23 lines (21 loc) · 838 Bytes
/
build
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
set -euo pipefail
declare DOCKER_USER="hkjn"
declare DOCKER_IMAGE="fileserver"
declare CPU_ARCH="$(uname -m)"
declare -A DOCKER_ARCHS
DOCKER_ARCHS["x86_64"]="amd64"
DOCKER_ARCHS["armv7l"]="arm"
declare DOCKER_ARCH=${DOCKER_ARCHS[${CPU_ARCH}]}
declare TAG="${DOCKER_USER}/${DOCKER_IMAGE}:${DOCKER_ARCH}"
echo "Building fileserver.."
docker build -t fileserver-build -f Dockerfile.build .
docker run --rm -it -v $(pwd):/build fileserver-build
docker build -t ${TAG} .
docker rmi fileserver-build
echo "Pushing ${TAG}.."
docker push ${TAG}
echo "Pushing multi-arch manifest.."
docker run -v $HOME/.docker:/root/.docker:ro --rm hkjn/manifest-tool \
push from-args --platforms linux/amd64,linux/arm \
--template ${DOCKER_USER}/${DOCKER_IMAGE}:ARCH \
--target ${DOCKER_USER}/${DOCKER_IMAGE}