use Docker manifest capabilities

This commit is contained in:
Stefan Agner 2019-01-23 22:59:07 +01:00
parent b3d2f9d573
commit d5637d75ea
3 changed files with 24 additions and 14 deletions

View file

@ -23,6 +23,8 @@ jobs:
include: include:
- stage: deploy - stage: deploy
name: "Create Manifest" name: "Create Manifest"
install: go get github.com/estesp/manifest-tool install:
- 'echo ''{ "experimental": true }'' | sudo tee /etc/docker/daemon.json'
- sudo systemctl restart docker
before_script: docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD" before_script: docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
script: ./create-manifest script: ./create-manifest

View file

@ -1,3 +1,23 @@
#!/bin/bash -ex #!/bin/bash -ex
"${GOPATH}/bin/manifest-tool" push from-spec manifests/manifest.yml DOCKER_ORG=agners
DOCKER_IMAGE=archlinuxarm
TAGS="latest $(date +'%Y%m%d')"
for TAG in $TAGS
do
docker manifest create --amend $DOCKER_ORG/$DOCKER_IMAGE:$TAG \
$DOCKER_ORG/$DOCKER_IMAGE-arm32v7:$TAG \
$DOCKER_ORG/$DOCKER_IMAGE-arm64v8:$TAG
docker manifest annotate $DOCKER_ORG/$DOCKER_IMAGE:$TAG \
$DOCKER_ORG/$DOCKER_IMAGE-arm32v7:$TAG \
--os linux --arch arm --variant v7
docker manifest annotate $DOCKER_ORG/$DOCKER_IMAGE:$TAG \
$DOCKER_ORG/$DOCKER_IMAGE-arm64v8:$TAG \
--os linux --arch arm64 --variant v8
docker manifest push $DOCKER_ORG/$DOCKER_IMAGE:$TAG
done

View file

@ -1,12 +0,0 @@
image: agners/archlinuxarm:latest
manifests:
- image: agners/archlinuxarm-arm32v7:latest
platform:
architecture: arm
variant: arm32v7
os: linux
- image: agners/archlinuxarm-arm64v8:latest
platform:
architecture: arm
variant: arm64v8
os: linux