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>
|
||||
|
||||
# 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"]
|
||||
|
|
17
README.md
17
README.md
|
@ -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
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