Adding travis CI file
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
This commit is contained in:
+15
@@ -0,0 +1,15 @@
|
||||
sudo: required
|
||||
services:
|
||||
- docker
|
||||
language: bash
|
||||
script:
|
||||
- |
|
||||
# echo "Updating Docker to have docker manifest command"
|
||||
curl https://get.docker.com | sh
|
||||
# echo "Enabling docker client experimental features"
|
||||
mkdir -p ~/.docker
|
||||
echo '{ "experimental": "enabled" }' > ~/.docker/config.json
|
||||
docker version
|
||||
# prepare qemu
|
||||
- sudo apt-get install qemu-user
|
||||
- ./build.sh
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
FROM debian:stretch-slim
|
||||
FROM arm64v8/debian:stretch-slim
|
||||
MAINTAINER Adam Harrison-Fuller <adam@adamhf.io>
|
||||
COPY qemu-aarch64-static /usr/bin/
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y mumble-server && \
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
FROM __BASEIMAGE_ARCH__/debian:stretch-slim
|
||||
__CROSS_COPY qemu-__QEMU_ARCH__-static /usr/bin/
|
||||
|
||||
MAINTAINER Adam Harrison-Fuller <adam@adamhf.io>
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y mumble-server && \
|
||||
rm -rf \
|
||||
/var/cache/apt/* \
|
||||
/var/lib/apt/lists/*
|
||||
|
||||
EXPOSE 64738 64738/udp
|
||||
|
||||
ADD ./data/mumble_server.ini /config/
|
||||
VOLUME /data
|
||||
ENV MUMBLE_INI /config/mumble_server.ini
|
||||
|
||||
ADD entrypoint.sh /
|
||||
RUN chmod +x entrypoint.sh
|
||||
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
CMD ["-fg"]
|
||||
@@ -0,0 +1,31 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user