mirror of
https://github.com/cloudnativelabs/kube-router.git
synced 2025-10-10 17:31:04 +02:00
Osxcompat 1 (#377)
* Added option BUILD_IN_DOCKER to build binarys in a docker container * removed unnecessary deps * locked docker image version for buildin
This commit is contained in:
parent
28f10ff2a7
commit
dd5d2faf36
25
Makefile
25
Makefile
@ -1,7 +1,8 @@
|
|||||||
NAME?=kube-router
|
NAME?=kube-router
|
||||||
GOARCH?=amd64
|
GOARCH?=amd64
|
||||||
DEV_SUFFIX?=-git
|
DEV_SUFFIX?=-git
|
||||||
BUILD_DATE?=$(shell date --iso-8601)
|
OSX=$(filter Darwin,$(shell uname))
|
||||||
|
BUILD_DATE?=$(shell date +%Y-%m-%dT%H:%M:%S%z)
|
||||||
LOCAL_PACKAGES?=app app/controllers app/options app/watchers utils
|
LOCAL_PACKAGES?=app app/controllers app/options app/watchers utils
|
||||||
IMG_NAMESPACE?=cloudnativelabs
|
IMG_NAMESPACE?=cloudnativelabs
|
||||||
GIT_COMMIT=$(shell git describe --tags --dirty)
|
GIT_COMMIT=$(shell git describe --tags --dirty)
|
||||||
@ -12,10 +13,11 @@ REGISTRY?=$(if $(IMG_FQDN),$(IMG_FQDN)/$(IMG_NAMESPACE)/$(NAME),$(IMG_NAMESPACE)
|
|||||||
REGISTRY_DEV?=$(REGISTRY)$(DEV_SUFFIX)
|
REGISTRY_DEV?=$(REGISTRY)$(DEV_SUFFIX)
|
||||||
IN_DOCKER_GROUP=$(filter docker,$(shell groups))
|
IN_DOCKER_GROUP=$(filter docker,$(shell groups))
|
||||||
IS_ROOT=$(filter 0,$(shell id -u))
|
IS_ROOT=$(filter 0,$(shell id -u))
|
||||||
DOCKER=$(if $(or $(IN_DOCKER_GROUP),$(IS_ROOT)),docker,sudo docker)
|
DOCKER=$(if $(or $(IN_DOCKER_GROUP),$(IS_ROOT),$(OSX)),docker,sudo docker)
|
||||||
MAKEFILE_DIR=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
|
MAKEFILE_DIR=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
|
||||||
UPSTREAM_IMPORT_PATH=$(GOPATH)/src/github.com/cloudnativelabs/kube-router/
|
UPSTREAM_IMPORT_PATH=$(GOPATH)/src/github.com/cloudnativelabs/kube-router/
|
||||||
|
BUILD_IN_DOCKER?=false
|
||||||
|
DOCKER_BUILD_IMAGE?=golang:1.8.7-alpine
|
||||||
ifeq ($(GOARCH), arm)
|
ifeq ($(GOARCH), arm)
|
||||||
QEMU_ARCH=arm
|
QEMU_ARCH=arm
|
||||||
ARCH_TAG_PREFIX=$(GOARCH)
|
ARCH_TAG_PREFIX=$(GOARCH)
|
||||||
@ -34,12 +36,25 @@ $(info Building for GOARCH=$(GOARCH))
|
|||||||
all: test kube-router container ## Default target. Runs tests, builds binaries and images.
|
all: test kube-router container ## Default target. Runs tests, builds binaries and images.
|
||||||
|
|
||||||
kube-router:
|
kube-router:
|
||||||
|
ifeq "$(BUILD_IN_DOCKER)" "true"
|
||||||
@echo Starting kube-router binary build.
|
@echo Starting kube-router binary build.
|
||||||
GOARCH=$(GOARCH) CGO_ENABLED=0 go build -ldflags '-X github.com/cloudnativelabs/kube-router/app.version=$(GIT_COMMIT) -X github.com/cloudnativelabs/kube-router/app.buildDate=$(BUILD_DATE)' -o kube-router kube-router.go
|
$(DOCKER) run -v $(PWD):/go/src/github.com/cloudnativelabs/kube-router -w /go/src/github.com/cloudnativelabs/kube-router $(DOCKER_BUILD_IMAGE) \
|
||||||
|
sh -c ' \
|
||||||
|
GOARCH=$(GOARCH) CGO_ENABLED=0 go build \
|
||||||
|
-ldflags "-X github.com/cloudnativelabs/kube-router/app.version=$(GIT_COMMIT) -X github.com/cloudnativelabs/kube-router/app.buildDate=$(BUILD_DATE)" \
|
||||||
|
-o kube-router kube-router.go'
|
||||||
@echo Finished kube-router binary build.
|
@echo Finished kube-router binary build.
|
||||||
|
else
|
||||||
|
GOARCH=$(GOARCH) CGO_ENABLED=0 go build -ldflags '-X github.com/cloudnativelabs/kube-router/app.version=$(GIT_COMMIT) -X github.com/cloudnativelabs/kube-router/app.buildDate=$(BUILD_DATE)' -o kube-router kube-router.go
|
||||||
|
endif
|
||||||
|
|
||||||
test: gofmt gomoqs ## Runs code quality pipelines (gofmt, tests, coverage, lint, etc)
|
test: gofmt gomoqs ## Runs code quality pipelines (gofmt, tests, coverage, lint, etc)
|
||||||
|
ifeq "$(BUILD_IN_DOCKER)" "true"
|
||||||
|
$(DOCKER) run -v $(PWD):/go/src/github.com/cloudnativelabs/kube-router -w /go/src/github.com/cloudnativelabs/kube-router $(DOCKER_BUILD_IMAGE) \
|
||||||
|
sh -c 'go test github.com/cloudnativelabs/kube-router github.com/cloudnativelabs/kube-router/app/... github.com/cloudnativelabs/kube-router/utils/'
|
||||||
|
else
|
||||||
go test github.com/cloudnativelabs/kube-router github.com/cloudnativelabs/kube-router/app/... github.com/cloudnativelabs/kube-router/utils/
|
go test github.com/cloudnativelabs/kube-router github.com/cloudnativelabs/kube-router/app/... github.com/cloudnativelabs/kube-router/utils/
|
||||||
|
endif
|
||||||
|
|
||||||
vagrant-up: export docker=$(DOCKER)
|
vagrant-up: export docker=$(DOCKER)
|
||||||
vagrant-up: export DEV_IMG=$(REGISTRY_DEV):$(IMG_TAG)
|
vagrant-up: export DEV_IMG=$(REGISTRY_DEV):$(IMG_TAG)
|
||||||
@ -174,7 +189,7 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
gobgp: vendor/github.com/osrg/gobgp/gobgp
|
gobgp: vendor/github.com/osrg/gobgp/gobgp
|
||||||
$(DOCKER) run -v $(PWD):/pwd golang:alpine \
|
$(DOCKER) run -v $(PWD):/pwd $(DOCKER_BUILD_IMAGE) \
|
||||||
sh -c ' \
|
sh -c ' \
|
||||||
apk add -U git && \
|
apk add -U git && \
|
||||||
ln -s /pwd/vendor /go/src && \
|
ln -s /pwd/vendor /go/src && \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user