X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=vnfs%2FDAaaS%2Fmicroservices%2Fremote-config-operator%2FMakefile;h=cdfed722abbd52a8481487b66d36dd2acbfc0411;hb=refs%2Fchanges%2F99%2F98199%2F3;hp=15d04b06101cd63656845717d7cbc703b3a6f553;hpb=2026cb5283fbc44a4f68641f6e85628381ebda04;p=demo.git diff --git a/vnfs/DAaaS/microservices/remote-config-operator/Makefile b/vnfs/DAaaS/microservices/remote-config-operator/Makefile index 15d04b06..cdfed722 100644 --- a/vnfs/DAaaS/microservices/remote-config-operator/Makefile +++ b/vnfs/DAaaS/microservices/remote-config-operator/Makefile @@ -12,10 +12,12 @@ VERSION := $(shell git describe --tags) BUILD := $(shell git rev-parse --short HEAD) PROJECTNAME := $(shell basename "$(pwd)") -ROOTPATH := $(shell realpath "$(PWD)/../../../../../../") PromOP := ${PWD}/build/_output/bin/remote-config-operator PromOP_LOCAL := ${PromOP}-local -IMAGE_NAME := dcr.cluster.local:32644/remote-config-operator:latest + +ifndef IMAGE_NAME +override IMAGE_NAME := dcr.cluster.local:32644/remote-config-operator:latest +endif export GO111MODULE=on @@ -23,32 +25,58 @@ export GO111MODULE=on ## build: Generate the k8s and openapi artifacts using operator-sdk build: clean - GOOS=linux GOARCH=amd64 - operator-sdk generate k8s --verbose - operator-sdk generate openapi --verbose - @operator-sdk build ${IMAGE_NAME} --verbose - @go build -o ${PromOP_LOCAL} remote-config-operator/cmd/manager + GOOS=linux GOARCH=amd64 + @operator-sdk generate k8s --verbose + @operator-sdk generate openapi --verbose + @operator-sdk build ${IMAGE_NAME} --verbose + @go build -o ${PromOP_LOCAL} remote-config-operator/cmd/manager + +## all: Delete the image, binary, complete build, test and run coverage +all: build test cover + +## debug: Build local binary for debugging +debug: + @echo "Deleting ${PromOP_LOCAL} binary" + @rm -rf ${PromOP_LOCAL} + operator-sdk generate k8s --verbose + operator-sdk generate openapi --verbose + @echo "Building ${PromOP_LOCAL} binary" + @go build -o ${PromOP_LOCAL} remote-config-operator/cmd/manager + +## deploy: Build Dockerfile and publish to repository +deploy: build test publish ## clean: clean build artifacts, image, binary clean: - @echo "Deleting the remote-config-operator binary" - @rm -rf ${PromOP} - @rm -rf ${PromOP_LOCAL} - @if docker images $(IMAGE_NAME) | awk '{ print $$2 }' | grep -q -F latest; then echo "Deleting the remote-config-operator docker image"; docker rmi ${IMAGE_NAME}; fi + @echo "Deleting the remote-config-operator binary" + @rm -rf ${PromOP} + @rm -rf ${PromOP_LOCAL} + @if docker images $(IMAGE_NAME) | awk '{ print $$2 }' | grep -q -F latest; then echo "Deleting the remote-config-operator docker image"; docker rmi ${IMAGE_NAME}; fi ## publish: Push docker image to registry publish: @docker push ${IMAGE_NAME} +.PHONY: test +## test: run tests +test: clean + @go test -v ./... + +.PHONY: cover +## cover: run tests and generate coverage report +cover: + @go test ./... -coverprofile=coverage.out + @go tool cover -html=coverage.out -o coverage.html + ## format: format source code format: - @go fmt ./... + @go fmt ./... .PHONY: help ## help: Print help message help: Makefile @echo - @echo " Requires Operator SDK v0.11.0+, go1.13.1+" + @echo " Requires Operator SDK v0.12.0+, go1.13.1+" @echo @echo " Choose a command run in "$(PROJECTNAME)":" @echo