Add 'release mode' to build script
This commit is contained in:
parent
6dd63f4ff3
commit
e1af50bb63
@ -16,15 +16,28 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
RELEASE=${RELEASE:-false} # Whether to build for an official release.
|
||||||
|
|
||||||
repo_path="github.com/google/cadvisor"
|
repo_path="github.com/google/cadvisor"
|
||||||
|
|
||||||
version=$( cat version/VERSION )
|
version=$( cat version/VERSION )
|
||||||
revision=$( git rev-parse --short HEAD 2> /dev/null || echo 'unknown' )
|
revision=$( git rev-parse --short HEAD 2> /dev/null || echo 'unknown' )
|
||||||
branch=$( git rev-parse --abbrev-ref HEAD 2> /dev/null || echo 'unknown' )
|
branch=$( git rev-parse --abbrev-ref HEAD 2> /dev/null || echo 'unknown' )
|
||||||
host=$( hostname -f )
|
build_user="${USER}@${HOSTNAME}"
|
||||||
build_date=$( date +%Y%m%d-%H:%M:%S )
|
build_date=$( date +%Y%m%d-%H:%M:%S )
|
||||||
go_version=$( go version | sed -e 's/^[^0-9.]*\([0-9.]*\).*/\1/' )
|
go_version=$( go version | sed -e 's/^[^0-9.]*\([0-9.]*\).*/\1/' )
|
||||||
|
|
||||||
|
GO_CMD="install"
|
||||||
|
|
||||||
|
if [ "$RELEASE" == "true" ]; then
|
||||||
|
# Don't include hostname with release builds
|
||||||
|
build_user="$(git config --get user.email)"
|
||||||
|
build_date=$( date +%Y%m%d ) # Release date is only to day-granularity
|
||||||
|
|
||||||
|
# Don't use cached build objects for releases.
|
||||||
|
GO_CMD="build"
|
||||||
|
fi
|
||||||
|
|
||||||
# go 1.4 requires ldflags format to be "-X key value", not "-X key=value"
|
# go 1.4 requires ldflags format to be "-X key value", not "-X key=value"
|
||||||
ldseparator="="
|
ldseparator="="
|
||||||
if [ "${go_version:0:3}" = "1.4" ]; then
|
if [ "${go_version:0:3}" = "1.4" ]; then
|
||||||
@ -35,11 +48,16 @@ ldflags="
|
|||||||
-X ${repo_path}/version.Version${ldseparator}${version}
|
-X ${repo_path}/version.Version${ldseparator}${version}
|
||||||
-X ${repo_path}/version.Revision${ldseparator}${revision}
|
-X ${repo_path}/version.Revision${ldseparator}${revision}
|
||||||
-X ${repo_path}/version.Branch${ldseparator}${branch}
|
-X ${repo_path}/version.Branch${ldseparator}${branch}
|
||||||
-X ${repo_path}/version.BuildUser${ldseparator}${USER}@${host}
|
-X ${repo_path}/version.BuildUser${ldseparator}${build_user}
|
||||||
-X ${repo_path}/version.BuildDate${ldseparator}${build_date}
|
-X ${repo_path}/version.BuildDate${ldseparator}${build_date}
|
||||||
-X ${repo_path}/version.GoVersion${ldseparator}${go_version}"
|
-X ${repo_path}/version.GoVersion${ldseparator}${go_version}"
|
||||||
|
|
||||||
echo " > cadvisor"
|
echo " > cadvisor"
|
||||||
GOBIN=$PWD godep go install -ldflags "${ldflags}" ${repo_path}
|
|
||||||
|
if [ "$RELEASE" == "true" ]; then
|
||||||
|
echo "Building release candidate with -ldflags $ldflags"
|
||||||
|
fi
|
||||||
|
|
||||||
|
GOBIN=$PWD godep go "$GO_CMD" -ldflags "${ldflags}" "${repo_path}"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
Loading…
Reference in New Issue
Block a user