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:
2019-03-05 21:57:58 +00:00
parent 940dab66e9
commit a2ad9822ad
5 changed files with 70 additions and 8 deletions
+15
View File
@@ -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
View File
@@ -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 && \
+22
View File
@@ -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"]
Executable
+31
View File
@@ -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
-7
View File
@@ -1,7 +0,0 @@
mumble:
build: .
ports:
- "64739:64738"
- "64739:64738/udp"
volumes:
- data/:/data/