etcd/scripts/build-release

58 lines
873 B
Bash
Executable File

#!/bin/sh -e
VER=$1
function build {
proj=${1}
ver=${2}
if [ ! -d ${proj} ]; then
git clone https://github.com/coreos/${proj}
fi
cd ${proj}
git checkout master
git fetch --all
git reset --hard origin/master
git checkout $ver
./build
cd -
}
function package {
proj=${1}
target=${2}
ccdir="${proj}/bin/${GOOS}_${GOARCH}"
if [ -d ${ccdir} ]; then
cp ${ccdir}/${proj}* ${target}
else
cp ${proj}/bin/${proj} ${target}
fi
cp ${proj}/README.md ${target}/README-${proj}.md
}
mkdir release
cd release
for i in darwin windows linux; do
export GOOS=${i}
export GOARCH="amd64"
build etcd ${VER}
build etcdctl ${VER}
TARGET="etcd-${VER}-${GOOS}-${GOARCH}"
mkdir ${TARGET}
package etcd ${TARGET}
package etcdctl ${TARGET}
if [ ${GOOS} == "linux" ]; then
tar cvvfz ${TARGET}.tar.gz ${TARGET}
else
zip -r ${TARGET}.zip ${TARGET}
fi
done