build-release 848 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/bin/sh -e
  2. VER=$1
  3. function build {
  4. proj=${1}
  5. ver=${2}
  6. if [ ! -d ${proj} ]; then
  7. git clone https://github.com/coreos/${proj}
  8. fi
  9. cd ${proj}
  10. git checkout master
  11. git fetch --all
  12. git reset --hard origin/master
  13. git checkout $ver
  14. ./build
  15. cd -
  16. }
  17. function package {
  18. proj=${1}
  19. target=${2}
  20. ccdir="${proj}/bin/${GOOS}_${GOARCH}"
  21. if [ -d ${ccdir} ]; then
  22. cp ${ccdir}/${proj}* ${target}
  23. else
  24. cp ${proj}/bin/${proj} ${target}
  25. fi
  26. cp ${proj}/README.md ${target}/README-${proj}.md
  27. }
  28. for i in darwin windows linux; do
  29. export GOOS=${i}
  30. export GOARCH="amd64"
  31. build etcd ${VER}
  32. build etcdctl ${VER}
  33. TARGET="etcd-${VER}-${GOOS}-${GOARCH}"
  34. mkdir ${TARGET}
  35. package etcd ${TARGET}
  36. package etcdctl ${TARGET}
  37. if [ ${GOOS} == "linux" ]; then
  38. tar cvvfz ${TARGET}.tar.gz ${TARGET}
  39. else
  40. zip -r ${TARGET}.zip ${TARGET}
  41. fi
  42. done