From 59ce7aa1d5dc081d9cedd359a58a94080832637c Mon Sep 17 00:00:00 2001 From: Minhan Xia Date: Fri, 26 Aug 2016 14:31:19 -0700 Subject: [PATCH] add Makefile for building/pushing cni binary --- build/cni/Makefile | 54 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 build/cni/Makefile diff --git a/build/cni/Makefile b/build/cni/Makefile new file mode 100644 index 00000000000..cc87dd1f665 --- /dev/null +++ b/build/cni/Makefile @@ -0,0 +1,54 @@ +# Copyright 2016 The Kubernetes Authors. +# +# 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. + +# Build the CNI binaries. +# +# Usage: +# [ARCH=amd64] [CNI_RELEASE=v0.3.0] make (build|push) + +ARCH?=amd64 +CNI_RELEASE?=9d5e6e60e79491207834ae8439e80c943db65a69 +CNI_TARBALL=cni-$(ARCH)-$(CNI_RELEASE).tar.gz +CUR_DIR=$(shell pwd) +OUTPUT_DIR=$(CUR_DIR)/output + +all: build + +build: + mkdir -p $(OUTPUT_DIR) + + docker run -it -v $(OUTPUT_DIR):/output golang:1.6 /bin/bash -c "\ + git clone https://github.com/containernetworking/cni\ + && cd cni \ + && git checkout $(CNI_RELEASE) \ + && CGO_ENABLED=0 GOOS=linux GOARCH=$(ARCH) ./build \ + && tar -zcvf $(CNI_TARBALL) bin/ \ + && mv $(CNI_TARBALL) /output/" + +# Backward Compatibility +ifeq ($(ARCH),amd64) + cp $(OUTPUT_DIR)/$(CNI_TARBALL) $(OUTPUT_DIR)/cni-$(CNI_RELEASE).tar.gz +endif + +push: build + gsutil cp $(OUTPUT_DIR)/$(CNI_TARBALL) gs://kubernetes-release/network-plugins + +ifeq ($(ARCH),amd64) + gsutil cp cni-$(CNI_RELEASE).tar.gz gs://kubernetes-release/network-plugins +endif + +clean: + rm -rf output/ + +.PHONY: all