Build multiple archs Trying to enable experimental server mode And again And Again And again..... ... and again More Trying with qemu Trying with multiple dockerfiles More This should work Gah Trying to get sed to work Should work on Linux now Tidying up build script
32 lines
1.5 KiB
Bash
Executable File
32 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
|
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
|
|
|
for docker_arch in amd64 arm32v7 arm64v8; do
|
|
case ${docker_arch} in
|
|
amd64 ) qemu_arch="x86_64" ;;
|
|
arm32v7 ) qemu_arch="arm" ;;
|
|
arm64v8 ) qemu_arch="aarch64" ;;
|
|
esac
|
|
wget -N https://github.com/multiarch/qemu-user-static/releases/download/v3.1.0-2/x86_64_qemu-${qemu_arch}-static.tar.gz
|
|
tar -xvf x86_64_qemu-${qemu_arch}-static.tar.gz
|
|
|
|
cat Dockerfile.cross | \
|
|
sed -e "s|__BASEIMAGE_ARCH__|${docker_arch}|g" | \
|
|
sed -e "s|__QEMU_ARCH__|${qemu_arch}|g" > Dockerfile.${docker_arch}
|
|
if [ ${docker_arch} == "amd64" ]; then
|
|
sed -i -e "/__CROSS_/d" Dockerfile.${docker_arch}
|
|
else
|
|
sed -i -e "s/__CROSS_//g" Dockerfile.${docker_arch}
|
|
fi
|
|
|
|
docker build -f Dockerfile.${docker_arch} -t adamhf/mumble_arm:${docker_arch}-latest .
|
|
docker push adamhf/mumble_arm:${docker_arch}-latest
|
|
done
|
|
|
|
docker manifest create --amend adamhf/mumble_arm:latest adamhf/mumble_arm:amd64-latest adamhf/mumble_arm:arm32v7-latest adamhf/mumble_arm:arm64v8-latest
|
|
docker manifest annotate adamhf/mumble_arm:latest adamhf/mumble_arm:arm32v7-latest --os linux --arch arm --variant v7
|
|
docker manifest annotate adamhf/mumble_arm:latest adamhf/mumble_arm:arm64v8-latest --os linux --arch arm64 --variant v8
|
|
docker manifest push adamhf/mumble_arm:latest
|