From eb8df9e9692a4888e5d4ba0ee5ea3afb75c1d484 Mon Sep 17 00:00:00 2001 From: Joe Beda Date: Wed, 19 Nov 2014 15:48:37 -0800 Subject: [PATCH] Upload "naked" binaries with releases. Fixes #2476 --- build/common.sh | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/build/common.sh b/build/common.sh index c9fe7a2785..63f12f31d0 100644 --- a/build/common.sh +++ b/build/common.sh @@ -93,6 +93,7 @@ readonly KUBE_RUN_IMAGES=( # This is where the final release artifacts are created locally +readonly RELEASE_STAGE="${LOCAL_OUTPUT_ROOT}/release-stage" readonly RELEASE_DIR="${LOCAL_OUTPUT_ROOT}/release-tars" # --------------------------------------------------------------------------- @@ -484,7 +485,7 @@ function kube::release::package_client_tarballs() { local platform_tag=${platform/\//-} # Replace a "/" for a "-" echo "+++ Building tarball: client $platform_tag" - local release_stage="${LOCAL_OUTPUT_ROOT}/release-stage/client/${platform_tag}/kubernetes" + local release_stage="${RELEASE_STAGE}/client/${platform_tag}/kubernetes" rm -rf "${release_stage}" mkdir -p "${release_stage}/client/bin" @@ -506,7 +507,7 @@ function kube::release::package_server_tarballs() { local platform_tag=${platform/\//-} # Replace a "/" for a "-" echo "+++ Building tarball: server $platform_tag" - local release_stage="${LOCAL_OUTPUT_ROOT}/release-stage/server/${platform_tag}/kubernetes" + local release_stage="${RELEASE_STAGE}/server/${platform_tag}/kubernetes" rm -rf "${release_stage}" mkdir -p "${release_stage}/server/bin" @@ -530,7 +531,7 @@ function kube::release::package_server_tarballs() { function kube::release::package_salt_tarball() { echo "+++ Building tarball: salt" - local release_stage="${LOCAL_OUTPUT_ROOT}/release-stage/salt/kubernetes" + local release_stage="${RELEASE_STAGE}/salt/kubernetes" rm -rf "${release_stage}" mkdir -p "${release_stage}" @@ -548,7 +549,7 @@ function kube::release::package_salt_tarball() { function kube::release::package_full_tarball() { echo "+++ Building tarball: full" - local release_stage="${LOCAL_OUTPUT_ROOT}/release-stage/full/kubernetes" + local release_stage="${RELESAE_STAGE}/full/kubernetes" rm -rf "${release_stage}" mkdir -p "${release_stage}" @@ -748,7 +749,24 @@ function kube::release::gcs::copy_release_artifacts() { # Having the "template" scripts from the GCE cluster deploy hosted with the # release is useful for GKE. Copy everything from that directory up also. - gsutil -m "${gcs_options[@]+${gcs_options[@]}}" cp "${LOCAL_OUTPUT_ROOT}/release-stage/full/kubernetes/cluster/gce/templates/*.sh" "${gcs_destination}extra/gce-templates/" + gsutil -m "${gcs_options[@]+${gcs_options[@]}}" cp \ + "${RELEASE_STAGE}/full/kubernetes/cluster/gce/templates/*.sh" \ + "${gcs_destination}extra/gce-templates/" + + # Upload the "naked" binaries to GCS. This is useful for install scripts that + # download the binaries directly and don't need tars. + local platform platforms + platforms=($(cd "${RELEASE_STAGE}/client" ; echo *)) + for platform in "${platforms[@]}"; do + local src="${RELEASE_STAGE}/client/${platform}/kubernetes/client/bin/*" + local dst="${gcs_destination}bin/${platform/-//}/" + # We assume here the "server package" is a superset of the "client package" + if [[ -d "${RELEASE_STAGE}/server/${platform}" ]]; then + src="${RELEASE_STAGE}/server/${platform}/kubernetes/server/bin/*" + fi + gsutil -m "${gcs_options[@]+${gcs_options[@]}}" cp \ + "$src" "$dst" + done # TODO(jbeda): Generate an HTML page with links for this release so it is easy # to see it. For extra credit, generate a dynamic page that builds up the