migrate to gitlab

This commit is contained in:
Florian Schwab 2019-03-24 01:24:41 +01:00
parent f5642443c9
commit 4b3805e4c9
5 changed files with 84 additions and 17 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/qemu-*-static

65
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,65 @@
image: docker:stable
services:
- docker:dind
stages:
- build
- release
variables:
QEMU_VERSION: v3.1.0-2
before_script:
- mkdir -p /root/.docker || true
- echo '{"experimental":"enabled"}' > /root/.docker/config.json
- docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
build-amd64:
stage: build
script:
- wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-x86_64-static -O qemu-x86_64-static
- chmod 554 qemu-x86_64-static
- docker build --build-arg ARCH=amd64 -t ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-amd64 .
- docker push ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-amd64
build-arm32v7:
stage: build
script:
- wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-arm-static -O qemu-arm-static
- chmod 554 qemu-arm-static
- docker build --build-arg ARCH=arm32v7 -t ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-arm32v7 .
- docker push ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-arm32v7
release:
stage: release
script:
- docker pull ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-amd64
- docker tag ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-amd64 ${CI_REGISTRY_IMAGE}:latest-amd64
- docker push ${CI_REGISTRY_IMAGE}:latest-amd64
- docker pull ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-arm32v7
- docker tag ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-arm32v7 ${CI_REGISTRY_IMAGE}:latest-arm32v7
- docker push ${CI_REGISTRY_IMAGE}:latest-arm32v7
- docker manifest create ${CI_REGISTRY_IMAGE}:latest ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-amd64 ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-arm32v7
- docker manifest annotate --os linux --arch amd64 ${CI_REGISTRY_IMAGE}:latest ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-amd64
- docker manifest annotate --os linux --arch arm --variant v7 ${CI_REGISTRY_IMAGE}:latest ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-arm32v7
- docker manifest push ${CI_REGISTRY_IMAGE}:latest
only:
- master
- tags
- schedules
dockerhub:
stage: release
before_script:
- docker login -u ${DOCKERHUB_USER} -p ${DOCKERHUB_PASSWORD} ${DOCKERHUB_REGISTRY}
script:
- docker pull ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-amd64
- docker pull ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-arm32v7
- docker manifest create ${DOCKERHUB_IMAGE}:latest ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-amd64 ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-arm32v7
- docker manifest annotate --os linux --arch amd64 ${DOCKERHUB_IMAGE}:latest ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-amd64
- docker manifest annotate --os linux --arch arm --variant v7 ${DOCKERHUB_IMAGE}:latest ${CI_REGISTRY_IMAGE}:${CI_JOB_ID}-arm32v7
- docker manifest push ${DOCKERHUB_IMAGE}:latest
only:
- master
- tags
- schedules

View file

@ -1,17 +1,24 @@
FROM alpine:3.9
# Base image
ARG ARCH=amd64
FROM $ARCH/alpine:3.9
# Prepare multi arch build
COPY qemu-* /usr/bin/
# Maintainer
MAINTAINER Florian Schwab <me@ydkn.io>
# update system
# upgrade system
RUN apk --no-cache --no-progress upgrade
# install avahi
RUN apk --no-cache --no-progress add avahi avahi-tools
# disable d-bus
RUN sed -i 's/.*enable-dbus.*/enable-dbus=no/' /etc/avahi/avahi-daemon.conf
RUN sed -i 's/^enable-dbus=.*/enable-dbus=no/' /etc/avahi/avahi-daemon.conf
# volumes
VOLUME ["/etc/avahi"]
VOLUME ["/etc/avahi/services"]
# default command
CMD ["avahi-daemon"]

View file

@ -1,20 +1,11 @@
# Docker image for Avahi
# Avahi Docker Image
## Get configuration from image
## Configuration
```bash
docker create ydkn/avahi:latest
docker cp $(docker ps -ql):/etc/avahi .
docker rm $(docker ps -ql)
```
## Modify configuration
Edit `avahi-daemon.conf` to your needs.
Edit the services in the `services` directory to your needs.
Put your service definition files in a directory and mount it as a volume to _/etc/avahi/services_.
## Start the container
```bash
docker run -d --restart always --net=host -v $(pwd)/avahi:/etc/avahi ydkn/avahi:latest
docker run -d --restart always --net=host -v $(pwd)/services:/etc/avahi/services ydkn/avahi:latest
```

3
qemu-dummy-static Executable file
View file

@ -0,0 +1,3 @@
#!/bin/sh
echo "Dummy QEMU wrapper to allow builds without specifing an architecture."