pull/323/merge
Matt Butcher 10 years ago
commit b03b663cb4

2
.gitignore vendored

@ -4,7 +4,9 @@
/vendor/* /vendor/*
/rootfs/manager/bin/manager /rootfs/manager/bin/manager
/rootfs/manager/bin/kubectl /rootfs/manager/bin/kubectl
/rootfs/manager/bin/v1*
/rootfs/resourcifier/bin/resourcifier /rootfs/resourcifier/bin/resourcifier
/rootfs/resourcifier/bin/kubectl /rootfs/resourcifier/bin/kubectl
/rootfs/resourcifier/bin/v1*
/rootfs/expandybird/bin/expandybird /rootfs/expandybird/bin/expandybird
/rootfs/expandybird/opt/expansion /rootfs/expandybird/opt/expansion

@ -77,6 +77,7 @@ HAS_GLIDE := $(shell command -v glide)
HAS_GOLINT := $(shell command -v golint) HAS_GOLINT := $(shell command -v golint)
HAS_GOVET := $(shell command -v go tool vet) HAS_GOVET := $(shell command -v go tool vet)
HAS_GOX := $(shell command -v gox) HAS_GOX := $(shell command -v gox)
HAS_DOCKER := $(shell command -v docker)
.PHONY: bootstrap .PHONY: bootstrap
bootstrap: bootstrap:
@ -94,12 +95,19 @@ ifndef HAS_GOX
go get -u github.com/mitchellh/gox go get -u github.com/mitchellh/gox
endif endif
glide install glide install
ifndef HAS_DOCKER
$(warning You must install Docker manually)
endif
.PHONY: .project .PHONY: .project
.project: .project:
@if [[ -z "${PROJECT}" ]]; then echo "PROJECT variable must be set"; exit 1; fi $(info Docker registry: $(PREFIX))
ifeq ($(PREFIX),gcr.io)
$(error "You must set at least one of the following environment variables: DOCKER_PROJECT, DOCKER_REGISTRY")
endif
.PHONY: .docker .PHONY: .docker
.docker: .docker:
@if [[ -z `which docker` ]] || ! docker version &> /dev/null; then echo "docker is not installed correctly"; exit 1; fi ifndef HAS_DOCKER
$(error You must install docker)
endif

@ -0,0 +1,34 @@
# Copyright 2016 The Kubernetes Authors All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
DOCKER_REGISTRY ?= gcr.io
# Legacy support for $PROJECT
DOCKER_PROJECT ?= $(PROJECT)
# Support both local and remote repos, and support no project.
ifdef $(DOCKER_PROJECT)
PREFIX := $(DOCKER_REGISTRY)/$(DOCKER_PROJECT)
else
PREFIX := $(DOCKER_REGISTRY)
endif
TAG ?= git-$(shell git rev-parse --short HEAD)
ROOT_DIR := $(abspath ./..)
kubectl:
ifeq ("$(wildcard bin/$(KUBE_VERSION))", "")
touch bin/$(KUBE_VERSION)
curl -fsSL -o bin/kubectl https://storage.googleapis.com/kubernetes-release/release/${KUBE_VERSION}/bin/linux/amd64/kubectl
chmod +x bin/kubectl
endif

@ -11,8 +11,8 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
DOCKER_REGISTRY := gcr.io include ../docker.mk
PREFIX := $(DOCKER_REGISTRY)/$(PROJECT)
IMAGE ?= expandybird IMAGE ?= expandybird
TAG ?= git-$(shell git rev-parse --short HEAD) TAG ?= git-$(shell git rev-parse --short HEAD)
FULL_IMAGE := $(PREFIX)/$(IMAGE) FULL_IMAGE := $(PREFIX)/$(IMAGE)
@ -20,7 +20,7 @@ FULL_IMAGE := $(PREFIX)/$(IMAGE)
.PHONY: container .PHONY: container
container: binary expansion container: binary expansion
docker build -t $(FULL_IMAGE):latest -f Dockerfile . docker build -t $(FULL_IMAGE):latest -f Dockerfile .
docker tag $(FULL_IMAGE):latest $(FULL_IMAGE):$(TAG) docker tag -f $(FULL_IMAGE):latest $(FULL_IMAGE):$(TAG)
.PHONY: push .PHONY: push
push: container push: container

@ -11,8 +11,8 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
DOCKER_REGISTRY := gcr.io include ../docker.mk
PREFIX := $(DOCKER_REGISTRY)/$(PROJECT)
IMAGE ?= manager IMAGE ?= manager
TAG ?= git-$(shell git rev-parse --short HEAD) TAG ?= git-$(shell git rev-parse --short HEAD)
FULL_IMAGE := $(PREFIX)/$(IMAGE) FULL_IMAGE := $(PREFIX)/$(IMAGE)
@ -22,7 +22,7 @@ KUBE_VERSION ?= v1.1.7
.PHONY: container .PHONY: container
container: binary kubectl container: binary kubectl
docker build -t $(FULL_IMAGE):latest -f Dockerfile . docker build -t $(FULL_IMAGE):latest -f Dockerfile .
docker tag $(FULL_IMAGE):latest $(FULL_IMAGE):$(TAG) docker tag -f $(FULL_IMAGE):latest $(FULL_IMAGE):$(TAG)
.PHONY: push .PHONY: push
push: container push: container
@ -35,6 +35,3 @@ endif
binary: binary:
cp ../../bin/linux-amd64/manager ./bin cp ../../bin/linux-amd64/manager ./bin
kubectl:
curl -fsSL -o bin/kubectl https://storage.googleapis.com/kubernetes-release/release/${KUBE_VERSION}/bin/linux/amd64/kubectl
chmod +x bin/kubectl

@ -11,8 +11,8 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
DOCKER_REGISTRY := gcr.io include ../docker.mk
PREFIX := $(DOCKER_REGISTRY)/$(PROJECT)
IMAGE ?= resourcifier IMAGE ?= resourcifier
TAG ?= git-$(shell git rev-parse --short HEAD) TAG ?= git-$(shell git rev-parse --short HEAD)
FULL_IMAGE := $(PREFIX)/$(IMAGE) FULL_IMAGE := $(PREFIX)/$(IMAGE)
@ -21,8 +21,8 @@ KUBE_VERSION ?= v1.1.7
.PHONY: container .PHONY: container
container: binary kubectl container: binary kubectl
docker build -t $(FULL_IMAGE):latest -f Dockerfile . docker build -t $(FULL_IMAGE):$(TAG) -f Dockerfile .
docker tag $(FULL_IMAGE):latest $(FULL_IMAGE):$(TAG) docker tag -f $(FULL_IMAGE):$(TAG) $(FULL_IMAGE):latest
.PHONY: push .PHONY: push
push: container push: container
@ -34,7 +34,3 @@ endif
binary: binary:
cp ../../bin/linux-amd64/resourcifier ./bin cp ../../bin/linux-amd64/resourcifier ./bin
kubectl:
curl -fsSL -o bin/kubectl https://storage.googleapis.com/kubernetes-release/release/${KUBE_VERSION}/bin/linux/amd64/kubectl
chmod +x bin/kubectl

Loading…
Cancel
Save