BUILD := $(shell git rev-parse --short HEAD)
PROJECTNAME := $(shell basename "$(PWD)")
-GOPATH := $(shell realpath "$(PWD)/../../../../../../")
+ROOTPATH := $(shell realpath "$(PWD)/../")
COP := ${PWD}/build/_output/bin/collectd-operator
COP_LOCAL := ${COP}-local
-IMAGE_NAME := dcr.cluster.local:32644/collectd-operator:latest
+ifndef IMAGE_NAME
+override IMAGE_NAME := dcr.cluster.local:32644/collectd-operator:latest
+endif
-export GOPATH ...
export GO111MODULE=on
.PHONY: clean plugins
## build: Generate the k8s and openapi artifacts using operator-sdk
-build: clean vendor
+build: clean format
GOOS=linux GOARCH=amd64
operator-sdk generate k8s --verbose
operator-sdk generate openapi --verbose
- #@go build -o ${COP} -gcflags all=-trimpath=${GOPATH} -asmflags all=-trimpath=${GOPATH} -mod=vendor demo/vnfs/DAaaS/microservices/collectd-operator/cmd/manager
- @go build -o ${COP_LOCAL} -mod=vendor demo/vnfs/DAaaS/microservices/collectd-operator/cmd/manager
+ @go build -o ${COP_LOCAL} collectd-operator/cmd/manager
@operator-sdk build ${IMAGE_NAME} --verbose
# The following is done this way as each patch on CI runs build and each merge runs deploy. So for build we don't need to build binary and hence
operator-sdk generate k8s --verbose
operator-sdk generate openapi --verbose
@echo "Building ${COP_LOCAL} binary"
- @go build -o ${COP_LOCAL} -mod=vendor demo/vnfs/DAaaS/microservices/collectd-operator/cmd/manager
+ @go build -o ${COP_LOCAL} collectd-operator/cmd/manager
## deploy: Build Dockerfile and publish to repository
-deploy: build publish
-## vendor: Build the vendor module
-vendor:
- @go mod vendor
+deploy: build test publish
+
## publish: Push docker image to repository
publish:
@docker push ${IMAGE_NAME}
@rm -rf ${COP}
@rm -rf ${COP_LOCAL}
@echo "Deleting the collectd-operator docker image"
- @docker rmi ${IMAGE_NAME}
+ @docker 2>/dev/null rmi ${IMAGE_NAME} | true
.PHONY: cover
## cover: run tests and generate coverage report