mirror of
https://github.com/willfarrell/docker-autoheal.git
synced 2024-12-06 19:16:20 +01:00
@@ -0,0 +1,15 @@
|
||||
image: docker:latest
|
||||
|
||||
services:
|
||||
- docker:dind
|
||||
stages:
|
||||
- build_and_deploy
|
||||
job:
|
||||
stage: build_and_deploy
|
||||
script:
|
||||
- mkdir ~/.docker
|
||||
- echo '{"experimental":"enabled"}' | tee ~/.docker/config.json
|
||||
- apk add --no-cache bash
|
||||
- ls -al ~/.docker/config.json
|
||||
- cat ~/.docker/config.json
|
||||
- bash build.sh $DOCKER_ENV_CI_PROJECT_PATH $CI_REGISTRY_USER $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
sudo: required
|
||||
services:
|
||||
- docker
|
||||
language: bash
|
||||
|
||||
env:
|
||||
global:
|
||||
- TRAVIS_SECURE_ENV_VARS=true
|
||||
|
||||
before_install:
|
||||
- sudo apt-get remove docker docker-engine docker.io
|
||||
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
||||
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
||||
- sudo apt-get update
|
||||
- sudo apt-get -y install docker-ce
|
||||
- echo '{"experimental":true}' | sudo tee /etc/docker/daemon.json
|
||||
- sudo service docker restart
|
||||
- mkdir ~/.docker
|
||||
- echo '{"experimental":"enabled"}' | tee ~/.docker/config.json
|
||||
- ls -al ~/.docker/config.json
|
||||
- cat ~/.docker/config.json
|
||||
|
||||
script:
|
||||
- bash build.sh $TRAVIS_REPO_SLUG $DOCKER_USERNAME $DOCKER_PASSWORD index.docker.io
|
||||
+3
-2
@@ -1,4 +1,5 @@
|
||||
FROM alpine:3.5
|
||||
ARG arch=x86_64
|
||||
FROM multiarch/alpine:${arch}-v3.8
|
||||
|
||||
RUN apk add --no-cache curl jq
|
||||
|
||||
@@ -7,4 +8,4 @@ ENTRYPOINT ["/docker-entrypoint"]
|
||||
|
||||
HEALTHCHECK --interval=5s CMD exit 0
|
||||
|
||||
CMD ["autoheal"]
|
||||
CMD ["autoheal"]
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
#!/bin/sh
|
||||
|
||||
REPO=${1}
|
||||
DOCKER_USERNAME=${2}
|
||||
DOCKER_PASSWORD=${3}
|
||||
DOCKER_REGESTRY=${4}
|
||||
declare -A ARCH_MAP
|
||||
ARCH_MAP[x86_64]=x86_64
|
||||
ARCH_MAP[armhf]=arm
|
||||
ARCH_MAP[arm64]=arm64
|
||||
|
||||
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
||||
|
||||
echo "Building docker images"
|
||||
for i in "${!ARCH_MAP[@]}"; do
|
||||
echo "################################################################################"
|
||||
echo "Building and pushing: ${REPO}-${ARCH_MAP[$i]}:latest "
|
||||
echo "################################################################################"
|
||||
docker build --build-arg arch=${i} -t ${REPO}-${ARCH_MAP[$i]}:latest .;
|
||||
docker push ${REPO}-${ARCH_MAP[$i]}:latest;
|
||||
done;
|
||||
|
||||
MANIFESTS=""
|
||||
for arch in "${ARCH_MAP[@]}"; do MANIFESTS="${MANIFESTS} ${REPO}-${arch}:latest"; done
|
||||
|
||||
echo "################################################################################"
|
||||
echo "Building and pushing: ${REPO}-${ARCH_MAP[$i]}:latest "
|
||||
echo "################################################################################"
|
||||
docker manifest create ${REPO}:latest ${MANIFESTS};
|
||||
|
||||
for arch in "${ARCH_MAP[@]}"; do
|
||||
docker manifest annotate --os linux --arch ${arch} ${REPO}:latest ${REPO}-${arch}:latest;
|
||||
done;
|
||||
|
||||
docker manifest push ${REPO}:latest
|
||||
Reference in New Issue
Block a user