github.com/spg/deis@v1.7.3/router/Makefile (about) 1 include ../includes.mk 2 3 # the filepath to this repository, relative to $GOPATH/src 4 repo_path = github.com/deis/deis/router 5 6 GO_FILES = boot.go 7 GO_PACKAGES = logger tests 8 GO_PACKAGES_REPO_PATH = $(addprefix $(repo_path)/,$(GO_PACKAGES)) 9 10 COMPONENT = $(notdir $(repo_path)) 11 IMAGE = $(IMAGE_PREFIX)$(COMPONENT):$(BUILD_TAG) 12 DEV_IMAGE = $(DEV_REGISTRY)/$(IMAGE) 13 BUILD_IMAGE = $(COMPONENT)-build 14 BINARY_DEST_DIR = image/bin 15 16 build: check-docker 17 cp -pR ../Godeps . 18 docker build -t $(BUILD_IMAGE) . 19 docker cp `docker run -d $(BUILD_IMAGE) /bin/bash`:/nginx.tgz image/ 20 GOOS=linux GOARCH=amd64 CGO_ENABLED=0 godep go build -a -installsuffix -v -ldflags '-s' -o $(BINARY_DEST_DIR)/boot boot.go || exit 1 21 $(call check-static-binary,image/bin/boot) 22 docker build -t $(IMAGE) image 23 rm image/nginx.tgz 24 rm image/bin/boot 25 26 clean: check-docker check-registry 27 rm -rf Godeps 28 docker rmi $(IMAGE) 29 30 full-clean: check-docker check-registry 31 docker images -q $(IMAGE_PREFIX)$(COMPONENT) | xargs docker rmi -f 32 33 install: check-deisctl 34 deisctl scale $(COMPONENT)=3 35 36 uninstall: check-deisctl 37 deisctl scale $(COMPONENT)=0 38 39 start: check-deisctl 40 deisctl start $(COMPONENT)@* 41 42 stop: check-deisctl 43 deisctl stop $(COMPONENT)@* 44 45 restart: stop start 46 47 run: install start 48 49 dev-release: push set-image 50 51 push: check-registry 52 docker tag -f $(IMAGE) $(DEV_IMAGE) 53 docker push $(DEV_IMAGE) 54 55 set-image: check-deisctl 56 deisctl config $(COMPONENT) set image=$(DEV_IMAGE) 57 58 release: 59 docker push $(IMAGE) 60 61 deploy: build dev-release restart 62 63 test: test-style test-unit test-functional 64 65 test-functional: 66 @docker history deis/test-etcd >/dev/null 2>&1 || docker pull deis/test-etcd:latest 67 GOPATH=`cd ../tests/ && godep path`:$(GOPATH) go test -v ./tests/... 68 69 test-style: 70 # display output, then check 71 $(GOFMT) $(GO_PACKAGES) $(GO_FILES) 72 @$(GOFMT) $(GO_PACKAGES) $(GO_FILES) | read; if [ $$? == 0 ]; then echo "gofmt check failed."; exit 1; fi 73 $(GOVET) $(repo_path) $(GO_PACKAGES_REPO_PATH) 74 $(GOLINT) ./... 75 76 test-unit: 77 @echo no unit tests