migrate to gitlab
This commit is contained in:
parent
f5642443c9
commit
4b3805e4c9
5 changed files with 84 additions and 17 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/qemu-*-static
|
65
.gitlab-ci.yml
Normal file
65
.gitlab-ci.yml
Normal 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
|
15
Dockerfile
15
Dockerfile
|
@ -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>
|
MAINTAINER Florian Schwab <me@ydkn.io>
|
||||||
|
|
||||||
# update system
|
# upgrade system
|
||||||
RUN apk --no-cache --no-progress upgrade
|
RUN apk --no-cache --no-progress upgrade
|
||||||
|
|
||||||
# install avahi
|
# install avahi
|
||||||
RUN apk --no-cache --no-progress add avahi avahi-tools
|
RUN apk --no-cache --no-progress add avahi avahi-tools
|
||||||
|
|
||||||
# disable d-bus
|
# 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
|
# volumes
|
||||||
VOLUME ["/etc/avahi"]
|
VOLUME ["/etc/avahi/services"]
|
||||||
|
|
||||||
# default command
|
# default command
|
||||||
CMD ["avahi-daemon"]
|
CMD ["avahi-daemon"]
|
||||||
|
|
17
README.md
17
README.md
|
@ -1,20 +1,11 @@
|
||||||
# Docker image for Avahi
|
# Avahi Docker Image
|
||||||
|
|
||||||
## Get configuration from image
|
## Configuration
|
||||||
|
|
||||||
```bash
|
Put your service definition files in a directory and mount it as a volume to _/etc/avahi/services_.
|
||||||
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.
|
|
||||||
|
|
||||||
## Start the container
|
## Start the container
|
||||||
|
|
||||||
```bash
|
```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
3
qemu-dummy-static
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
echo "Dummy QEMU wrapper to allow builds without specifing an architecture."
|
Loading…
Reference in a new issue