Propagate version info into salt config and use to build.

Fixes #1043.
This commit is contained in:
Joe Beda 2014-08-26 16:00:34 -07:00
parent 169e6f079a
commit 5722eba780
7 changed files with 27 additions and 5 deletions

View File

@ -1,6 +1,7 @@
{% set root = '/var/src/apiserver' %}
{% set package = 'github.com/GoogleCloudPlatform/kubernetes' %}
{% set package_dir = root + '/src/' + package %}
{% set go_opt = pillar['go_opt'] %}
{% if grains['os_family'] == 'RedHat' %}
{% set environment_file = '/etc/sysconfig/apiserver' %}
{% else %}
@ -36,7 +37,7 @@ apiserver-build:
cmd.run:
- cwd: {{ root }}
- names:
- go build {{ package }}/cmd/apiserver
- go build {{ go_opt }} {{ package }}/cmd/apiserver
- env:
- PATH: {{ grains['path'] }}:/usr/local/bin
- GOPATH: {{ root }}:{{ package_dir }}/Godeps/_workspace

View File

@ -1,6 +1,7 @@
{% set root = '/var/src/controller-manager' %}
{% set package = 'github.com/GoogleCloudPlatform/kubernetes' %}
{% set package_dir = root + '/src/' + package %}
{% set go_opt = pillar['go_opt'] %}
{% if grains['os_family'] == 'RedHat' %}
{% set environment_file = '/etc/sysconfig/controller-manager' %}
{% else %}
@ -36,7 +37,7 @@ controller-manager-build:
cmd.run:
- cwd: {{ root }}
- names:
- go build {{ package }}/cmd/controller-manager
- go build {{ go_opt }} {{ package }}/cmd/controller-manager
- env:
- PATH: {{ grains['path'] }}:/usr/local/bin
- GOPATH: {{ root }}:{{ package_dir }}/Godeps/_workspace

View File

@ -1,6 +1,7 @@
{% set root = '/var/src/kube-proxy' %}
{% set package = 'github.com/GoogleCloudPlatform/kubernetes' %}
{% set package_dir = root + '/src/' + package %}
{% set go_opt = pillar['go_opt'] %}
{% if grains['os_family'] == 'RedHat' %}
{% set environment_file = '/etc/sysconfig/kube-proxy' %}
{% else %}
@ -28,7 +29,7 @@ kube-proxy-build:
cmd.run:
- cwd: {{ root }}
- names:
- go build {{ package }}/cmd/proxy
- go build {{ go_opt }} {{ package }}/cmd/proxy
- env:
- PATH: {{ grains['path'] }}:/usr/local/bin
- GOPATH: {{ root }}:{{ package_dir }}/Godeps/_workspace

View File

@ -1,6 +1,7 @@
{% set root = '/var/src/kubelet' %}
{% set package = 'github.com/GoogleCloudPlatform/kubernetes' %}
{% set package_dir = root + '/src/' + package %}
{% set go_opt = pillar['go_opt'] %}
{% if grains['os_family'] == 'RedHat' %}
{% set environment_file = '/etc/sysconfig/kubelet' %}
{% else %}
@ -36,7 +37,7 @@ kubelet-build:
cmd.run:
- cwd: {{ root }}
- names:
- go build {{ package }}/cmd/kubelet
- go build {{ go_opt }} {{ package }}/cmd/kubelet
- env:
- PATH: {{ grains['path'] }}:/usr/local/bin
- GOPATH: {{ root }}:{{ package_dir }}/Godeps/_workspace

View File

@ -1,6 +1,7 @@
{% set root = '/var/src/scheduler' %}
{% set package = 'github.com/GoogleCloudPlatform/kubernetes' %}
{% set package_dir = root + '/src/' + package %}
{% set go_opt = pillar['go_opt'] %}
{% if grains['os_family'] == 'RedHat' %}
{% set environment_file = '/etc/sysconfig/scheduler' %}
{% else %}
@ -36,7 +37,7 @@ scheduler-build:
cmd.run:
- cwd: {{ root }}
- names:
- go build {{ package }}/plugin/cmd/scheduler
- go build {{ go_opt }} {{ package }}/plugin/cmd/scheduler
- env:
- PATH: {{ grains['path'] }}:/usr/local/bin
- GOPATH: {{ root }}:{{ package_dir }}/Godeps/_workspace

View File

@ -41,4 +41,8 @@ for arg; do
binaries+=("${KUBE_GO_PACKAGE}/${arg}")
done
# Note that the flags to 'go build' are duplicated in the salt build setup for
# our cluster deploy. If we add more command line options to our standard build
# we'll want to duplicate them there. As we move to distributing pre- built
# binaries we can eliminate this duplication.
go install -ldflags "-X github.com/GoogleCloudPlatform/kubernetes/pkg/version.commitFromGit '${version}'" "${binaries[@]}"

View File

@ -40,14 +40,27 @@ echo "Building release tree"
cp $KUBE_DIR/release/master-release-install.sh $MASTER_RELEASE_DIR/src/scripts/master-release-install.sh
cp -r $KUBE_DIR/cluster/saltbase $MASTER_RELEASE_DIR/src/saltbase
# Capture the same version we are using to build the client tools and pass that
# on.
version=$(
unset IFS
source $KUBE_DIR/hack/config-go.sh
gitcommit
)
cat << EOF > $MASTER_RELEASE_DIR/src/saltbase/pillar/common.sls
instance_prefix: $INSTANCE_PREFIX-minion
go_opt: -ldflags "-X github.com/GoogleCloudPlatform/kubernetes/pkg/version.commitFromGit '$version'"
EOF
function find_go_files() {
find * -not \( \
\( \
-wholename 'release' \
-o -wholename 'output' \
-o -wholename '_output' \
-o -wholename 'examples' \
-o -wholename 'test' \
\) -prune \
\) -name '*.go'
}