#!/usr/bin/env bash set -e if [ "$#" -ne 1 ]; then echo "Usage: $0 VERSION" >&2 exit 1 fi VERSION=${1} ARCH=$(go env GOARCH) DOCKERFILE="Dockerfile-release" : ${TAG:="quay.io/coreos/etcd"} if [ -z ${BINARYDIR} ]; then RELEASE="etcd-${1}"-`go env GOOS`-`go env GOARCH` BINARYDIR="${RELEASE}" TARFILE="${RELEASE}.tar.gz" TARURL="https://github.com/coreos/etcd/releases/download/${1}/${TARFILE}" if ! curl -f -L -o ${TARFILE} ${TARURL} ; then echo "Failed to download ${TARURL}." exit 1 fi tar -zvxf ${TARFILE} fi if [ ${ARCH} != "amd64" ]; then DOCKERFILE+=".${ARCH}" VERSION+="-${ARCH}" fi BINARYDIR=${BINARYDIR:-.} BUILDDIR=${BUILDDIR:-.} IMAGEDIR=${BUILDDIR}/image-docker mkdir -p ${IMAGEDIR}/var/etcd mkdir -p ${IMAGEDIR}/var/lib/etcd cp ${BINARYDIR}/etcd ${BINARYDIR}/etcdctl ${IMAGEDIR} cat ./${DOCKERFILE} > ${IMAGEDIR}/Dockerfile docker build -t ${TAG}:${VERSION} ${IMAGEDIR}