build-docker 837 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/usr/bin/env bash
  2. if [ "$#" -ne 1 ]; then
  3. echo "Usage: $0 VERSION" >&2
  4. exit 1
  5. fi
  6. ARCH=$(go env GOARCH)
  7. DOCKERFILE="Dockerfile-release"
  8. TAG="quay.io/coreos/etcd"
  9. if [ -z ${BINARYDIR} ]; then
  10. RELEASE="etcd-${1}"-`go env GOOS`-`go env GOARCH`
  11. BINARYDIR="${RELEASE}"
  12. TARFILE="${RELEASE}.tar.gz"
  13. TARURL="https://github.com/coreos/etcd/releases/download/${1}/${TARFILE}"
  14. curl -f -L -o ${TARFILE} ${TARURL}
  15. if [ $? != 0 ]; then
  16. echo "Failed to download ${TARURL}."
  17. exit 1
  18. fi
  19. tar -zvxf ${TARFILE}
  20. fi
  21. if [ ${ARCH} != "amd64" ]; then
  22. DOCKERFILE+=".${ARCH}"
  23. TAG+="-${ARCH}"
  24. fi
  25. BINARYDIR=${BINARYDIR:-.}
  26. BUILDDIR=${BUILDDIR:-.}
  27. IMAGEDIR=${BUILDDIR}/image-docker
  28. mkdir -p ${IMAGEDIR}
  29. cp ${BINARYDIR}/etcd ${BINARYDIR}/etcdctl ${IMAGEDIR}
  30. cat ./${DOCKERFILE} > ${IMAGEDIR}/Dockerfile
  31. docker build -t ${TAG}:${1} ${IMAGEDIR}