You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

78 lines
2.9 KiB

#!/bin/bash
set -e
# make sure Docker's config folder exists
mkdir -p ~/.docker
# Putting experimental:true to config enables manifest options
echo '{ "experimental": "enabled" }' > ~/.docker/config.json
# put above config into effect
sudo systemctl restart docker
echo "${DOCKER_PASS}" | docker login -u="${DOCKER_USER}" --password-stdin
# print this to verify manifest options are now available
docker version
# Example: lncm/bitcoind:0.18.0
IMAGE_VERSIONED="${SLUG}:${TRAVIS_TAG}"
IMAGE_AMD64_SRC="${IMAGE_VERSIONED}-source-linux-amd64"
#IMAGE_ARM7_SRC="${IMAGE_VERSIONED}-source-linux-armv7"
docker pull "${IMAGE_AMD64_SRC}"
#docker pull "${IMAGE_ARM7_SRC}"
echo "Pushing manifest ${IMAGE_VERSIONED}"
docker -D manifest create "${IMAGE_VERSIONED}" "${IMAGE_AMD64_SRC}" #"${IMAGE_ARM7_SRC}"
#docker manifest annotate "${IMAGE_VERSIONED}" "${IMAGE_ARM7_SRC}" --os linux --arch arm --variant v7
docker manifest push "${IMAGE_VERSIONED}"
# example: lncm/bitcoind:0.18
IMAGE_MINOR_VER="${SLUG}:${VER}"
echo "Pushing manifest ${IMAGE_MINOR_VER}"
docker -D manifest create "${IMAGE_MINOR_VER}" "${IMAGE_AMD64_SRC}" #"${IMAGE_ARM7_SRC}"
#docker manifest annotate "${IMAGE_MINOR_VER}" "${IMAGE_ARM7_SRC}" --os linux --arch arm --variant v7
docker manifest push "${IMAGE_MINOR_VER}"
#example: lncm/bitcoind:latest
IMAGE_LATEST="${SLUG}:latest"
echo "Pushing manifest ${IMAGE_LATEST}"
docker -D manifest create "${IMAGE_LATEST}" "${IMAGE_AMD64_SRC}" #"${IMAGE_ARM7_SRC}"
#docker manifest annotate "${IMAGE_LATEST}" "${IMAGE_ARM7_SRC}" --os linux --arch arm --variant v7
docker manifest push "${IMAGE_LATEST}"
# Example: lncm/bitcoind:0.18.0-binary
IMAGE_VERSIONED="${SLUG}:${TRAVIS_TAG}-binary"
IMAGE_AMD64_BIN="${IMAGE_VERSIONED}-binary-linux-amd64"
#IMAGE_ARM7_BIN="${IMAGE_VERSIONED}-binary-linux-armv7"
docker pull "${IMAGE_AMD64_BIN}"
#docker pull "${IMAGE_ARM7_BIN}"
echo "Pushing manifest ${IMAGE_VERSIONED}"
docker -D manifest create "${IMAGE_VERSIONED}" "${IMAGE_AMD64_BIN}" #"${IMAGE_ARM7_BIN}"
#docker manifest annotate "${IMAGE_VERSIONED}" "${IMAGE_ARM7_BIN}" --os linux --arch arm --variant v7
docker manifest push "${IMAGE_VERSIONED}"
# example: lncm/bitcoind:0.18-binary
IMAGE_MINOR_VER="${SLUG}:${VER}-binary"
echo "Pushing manifest ${IMAGE_MINOR_VER}"
docker -D manifest create "${IMAGE_MINOR_VER}" "${IMAGE_AMD64_BIN}" #"${IMAGE_ARM7_BIN}"
#docker manifest annotate "${IMAGE_MINOR_BIN}" "${IMAGE_ARM7_BIN}" --os linux --arch arm --variant v7
docker manifest push "${IMAGE_MINOR_VER}"
#example: lncm/bitcoind:binary
IMAGE_BINARY="${SLUG}:binary"
echo "Pushing manifest ${IMAGE_BINARY}"
docker -D manifest create "${IMAGE_BINARY}" "${IMAGE_AMD64_BIN}" #"${IMAGE_ARM7_BIN}"
#docker manifest annotate "${IMAGE_BINARY}" "${IMAGE_ARM7_BIN}" --os linux --arch arm --variant v7
docker manifest push "${IMAGE_BINARY}"