Commit 0af0856e authored by Jack Greenfield's avatar Jack Greenfield

Merge pull request #556 from jackgr/change-repos

Change repo references from dm-k8s-prod to new repos and update build and push for client and server images
parents 368287ed 8636deab
......@@ -12,6 +12,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
GO_DIRS ?= $(shell glide nv -x )
GO_PKGS ?= $(shell glide nv)
ROOTFS := rootfs
CLIENT := cmd/helm
.PHONY: info
info:
$(MAKE) -C $(ROOTFS) $@
......@@ -21,11 +27,6 @@ ifndef GOPATH
$(error No GOPATH set)
endif
GO_DIRS ?= $(shell glide nv -x )
GO_PKGS ?= $(shell glide nv)
ROOTFS := rootfs
.PHONY: build
build: gocheck
@scripts/build-go.sh
......@@ -55,8 +56,16 @@ quicktest: test-style
go test $(GO_PKGS)
.PHONY: push
push: build-static
$(MAKE) -C $(ROOTFS) $@
push: push-server push-client
.PHONY: push-server
push-server: build-static
$(MAKE) -C $(ROOTFS) push
.PHONY: push-client
push-client: gocheck
@BUILD_TYPE=CROSS scripts/build-go.sh $(CLIENT)
$(MAKE) -C $(CLIENT) push
.PHONY: container
container: build-static
......
......@@ -51,7 +51,7 @@ config:
spec:
containers:
- env: []
image: gcr.io/dm-k8s-prod/expandybird
image: gcr.io/kubernetes-helm/expandybird
name: expandybird
ports:
- containerPort: 8080
......@@ -63,7 +63,7 @@ layout:
properties:
container_port: 8080
external_service: true
image: gcr.io/dm-k8s-prod/expandybird
image: gcr.io/kubernetes-helm/expandybird
labels:
app: expandybird
replicas: 3
......
......@@ -19,4 +19,4 @@ resources:
properties:
service_port: 8080
target_port: 8080
image: gcr.io/dm-k8s-prod/expandybird
image: gcr.io/kubernetes-helm/expandybird
......@@ -19,4 +19,4 @@ resources:
properties:
service_port: 8080
target_port: 8080
invalidproperty: gcr.io/dm-k8s-prod/expandybird
invalidproperty: gcr.io/kubernetes-helm/expandybird
......@@ -19,4 +19,4 @@ resources:
properties:
service_port: 8080
target_port: 8080
image: gcr.io/dm-k8s-prod/expandybird
image: gcr.io/kubernetes-helm/expandybird
......@@ -18,4 +18,4 @@ resources:
properties:
service_port: 8080
target_port: 8080
image: gcr.io/dm-k8s-prod/expandybird
image: gcr.io/kubernetes-helm/expandybird
......@@ -18,4 +18,4 @@ resources:
properties:
service_port: 8080
target_port: 8080
image: gcr.io/dm-k8s-prod/expandybird
image: gcr.io/kubernetes-helm/expandybird
......@@ -18,4 +18,4 @@ resources:
properties:
service_port: 8080
target_port: 8080
image: gcr.io/dm-k8s-prod/expandybird
image: gcr.io/kubernetes-helm/expandybird
......@@ -22,6 +22,6 @@ resources:
container_port: 8080
external_service: true
replicas: 3
image: gcr.io/dm-k8s-prod/expandybird
image: gcr.io/kubernetes-helm/expandybird
labels:
app: expandybird
\ No newline at end of file
#!/usr/bin/env bash
#
# Copyright 2015 The Kubernetes Authors All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
......@@ -14,30 +12,28 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# Run this from helm root to build and push the dm client plus
# kubernetes install config into the publicly readable GCS bucket gs://get-dm.
#
# Must have EDIT permissions on the dm-k8s-prod GCP project.
set -euo pipefail
DEFAULT_TAG=v1.2
DEFAULT_BINARY=${GOPATH}/bin/dm
DEFAULT_PLATFORM=$(uname | tr '[:upper:]' '[:lower:]')
DEFAULT_ARCH=$(uname -m)
SHELL := /bin/bash
STORAGE_BUCKET=gs://get-dm
ZIP=dm-${TAG:-DEFAULT_TAG}-${PLATFORM:-DEFAULT_PLATFORM}-${ARCH:-DEFAULT_ARCH}.zip
GOLANG_CROSSPLATFORMS := darwin/386 darwin/amd64 freebsd/386 freebsd/amd64 freebsd/arm linux/386 linux/amd64 linux/arm windows/386 windows/amd64
echo "Building..."
make
ROOT_DIR := $(abspath ./../..)
BIN_DIR := $(ROOT_DIR)/bin
echo "Zipping ${ZIP}..."
zip -j ${ZIP} ${BINARY:-DEFAULT_BINARY} install.yaml
DEFAULT_BUCKET := gs://get-helm
STORAGE_BUCKET ?= $(DEFAULT_BUCKET)
echo "Uploading ${ZIP} to ${STORAGE_BUCKET}..."
gsutil cp ${ZIP} ${STORAGE_BUCKET}
rm ${ZIP}
DEFAULT_TAG := git-$(shell git rev-parse --short HEAD)
TAG ?= $(DEFAULT_TAG)
echo "Done."
all: push
push:
for platform in ${GOLANG_CROSSPLATFORMS}; do \
echo $$platform; \
PLATFORM=$${platform%/*} && ARCH=$${platform##*/} && \
BINARY=$${PLATFORM}-$${ARCH} && \
ZIP=${TAG}-helm-$${BINARY}.zip && \
zip -j $${ZIP} ${BIN_DIR}/$${BINARY}/helm* && \
gsutil cp $${ZIP} ${STORAGE_BUCKET} && \
rm $${ZIP} ; \
done
# Pushing DM
# Pushing Helm
This details the requirements and steps for doing a DM push.
This details the requirements and steps for doing a `helm` push.
## Prerequisites
In order to build and push DM, you must:
In order to build and push `helm`, you must:
* be an editor or owner on the GCP project `dm-k8s-prod`
* be an editor or owner on the GCP project `kubernetes-helm`
* have `docker` installed and runnable in your current environment
* have `gcloud` installed
* have `gsutil` installed
## Pushing
To build and push the service containers:
To build and push the service containers and the client binaries for all
supported platforms and architectures, checkout the branch and tag you intend to release,
and then run the following:
```
$ cd ${GOPATH}/src/github.com/kubernetes/helm
$ export PROJECT=dm-k8s-prod
$ make push
$ PROJECT=kubernetes-helm make push
```
To push the client binaries, run the following for both Mac OS X and Linux
environments:
```
$ hack/dm-push.sh
```
......@@ -42,7 +42,7 @@ The template contains the following variables:
```
{% set PROPERTIES = properties or {} %}
{% set PROJECT = PROPERTIES['project'] or 'dm-k8s-prod' %}
{% set PROJECT = PROPERTIES['project'] or 'kubernetes-charts' %}
{% set NFS_SERVER = PROPERTIES['nfs-server'] or {} %}
{% set NFS_SERVER_IP = NFS_SERVER['ip'] or '10.0.253.247' %}
{% set NFS_SERVER_PORT = NFS_SERVER['port'] or 2049 %}
......
{% set PROPERTIES = properties or {} %}
{% set PROJECT = PROPERTIES['project'] or 'dm-k8s-prod' %}
{% set PROJECT = PROPERTIES['project'] or 'kubernetes-charts' %}
{% set NFS_SERVER = PROPERTIES['nfs-server'] or {} %}
{% set NFS_SERVER_IP = NFS_SERVER['ip'] or '10.0.253.247' %}
{% set NFS_SERVER_PORT = NFS_SERVER['port'] or 2049 %}
......
......@@ -8,7 +8,7 @@ info:
properties:
project:
type: string
default: dm-k8s-prod
default: kubernetes-charts
description: Project location to load the images from.
nfs-service:
type: object
......
......@@ -13,15 +13,28 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# Run this from the root of your clone of the kubernetes/helm repository.
# Be sure to checkout the release you want to install before running it,
# since it will attempt to pull the version from HEAD on the current branch.
set -euo pipefail
DEFAULT_TAG=v1.2
DEFAULT_BINARY=${GOPATH}/bin/helm
DEFAULT_TAG=git-$(git rev-parse --short HEAD)
DEFAULT_PLATFORM=$(uname | tr '[:upper:]' '[:lower:]')
DEFAULT_ARCH=$(uname -m)
STORAGE_URL=http://get-dm.storage.googleapis.com
ZIP=helm-${TAG:-${DEFAULT_TAG}}-${PLATFORM:-${DEFAULT_PLATFORM}}-${ARCH:-${DEFAULT_ARCH}}.zip
if [[ "${DEFAULT_ARCH}" == x86_64 ]]; then
DEFAULT_ARCH=amd64
fi
PLATFORM=${PLATFORM:-${DEFAULT_PLATFORM}}
ARCH=${ARCH:-${DEFAULT_ARCH}}
TAG=${TAG:-${DEFAULT_TAG}}
BINARY=helm-${PLATFORM}-${ARCH}
ZIP=${TAG}-${BINARY}.zip
STORAGE_URL=http://get-helm.storage.googleapis.com
echo "Downloading ${ZIP}..."
curl -Ls "${STORAGE_URL}/${ZIP}" -O
......@@ -35,14 +48,13 @@ cat <<EOF
helm is now available in your current directory.
Before using it, please install the Helm service in your
Before using it, please install the Deployment Manager service in your
kubernetes cluster by running
$ helm server install
$ ./helm server install
To get started, run:
$ helm help
$ ./helm help
EOF
......@@ -141,7 +141,7 @@ spec:
spec:
containers:
- env: []
image: {{default "gcr.io/dm-k8s-prod/expandybird:v1.2.1" .Expandybird.Image}}
image: {{default "gcr.io/kubernetes-helm/expandybird:latest" .Expandybird.Image}}
name: expandybird
ports:
- containerPort: 8080
......@@ -185,7 +185,7 @@ spec:
spec:
containers:
- env: []
image: {{ default "gcr.io/dm-k8s-prod/resourcifier:v1.2.1" .Resourcifier.Image }}
image: {{ default "gcr.io/kubernetes-helm/resourcifier:latest" .Resourcifier.Image }}
name: resourcifier
ports:
- containerPort: 8080
......@@ -229,7 +229,7 @@ spec:
spec:
containers:
- env: []
image: {{ default "gcr.io/dm-k8s-prod/manager:v1.2.1" .Manager.Image }}
image: {{ default "gcr.io/kubernetes-helm/manager:latest" .Manager.Image }}
name: manager
ports:
- containerPort: 8080
......
......@@ -39,7 +39,7 @@ target_port: 8080
container_port: 8080
external_service: true
replicas: 3
image: gcr.io/dm-k8s-prod/expandybird
image: gcr.io/kubernetes-helm/expandybird
labels:
app: expandybird
`
......
......@@ -14,10 +14,11 @@
# If you update this image please check the tag value before pushing.
DOCKER_REGISTRY ?= gcr.io
DEFAULT_REGISTRY := gcr.io
DOCKER_REGISTRY ?= $(DEFAULT_REGISTRY)
# Legacy support for $PROJECT
DOCKER_PROJECT ?= $(PROJECT)
DEFAULT_PROJECT := kubernetes-helm
DOCKER_PROJECT ?= $(DEFAULT_PROJECT)
# Support both local and remote repos, and support no project.
ifeq ($(DOCKER_PROJECT),)
......
......@@ -71,8 +71,8 @@ build_binary_cross() {
echo "Building ${target}"
gox -verbose \
-ldflags="${LDFLAGS}" \
-os="linux darwin" \
-arch="amd64 386" \
-os="linux darwin freebsd windows" \
-arch="amd64 386 arm" \
-output="bin/{{.OS}}-{{.Arch}}/{{.Dir}}" \
"${REPO}/${target}"
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment