github.com/wanliu/go-oauth2-server@v0.0.0-20180817021415-f928fa1580df/Makefile (about)

     1  PHONY: update-deps install-deps fmt lint golint test test-with-coverage build
     2  # TODO: When Go 1.9 is released vendor folder should be ignored automatically
     3  HOST=ec2-user@test.wanliu.biz
     4  PACKAGES=`go list ./... | grep -v vendor | grep -v mocks`
     5  TIMESTAMP=$(shell date +%s)
     6  APPNAME=BlueGreenDemoApplication
     7  GROUPNAME=BlueGreenDemoFleet-i3ggrub
     8  PUSH_SCRIPT=aws deploy push --application-name $(APPNAME) \
     9  	--s3-location s3://jiejie-deploy/oauth2-server-$(TIMESTAMP).zip \
    10  	--source ./build
    11  AWSPUSH=$(shell $(PUSH_SCRIPT))
    12  
    13  # sed 's/<deployment-group-name>.*//'
    14  # aws deploy create-deployment --application-name Jiejie --s3-location bucket=jiejie-deploy,key=oauth2-server-1504866286.zip,bundleType=zip,eTag=0521449d68f8b6b0109b060e0ece04b9 --deployment-group-name <deployment-group-name> --deployment-config-name <deployment-config-name> --description <description>
    15  
    16  update-deps:
    17  	rm -rf Godeps
    18  	rm -rf vendor
    19  	go get github.com/tools/godep
    20  	godep save ./...
    21  
    22  install-deps:
    23  	go get github.com/tools/godep
    24  	godep restore
    25  
    26  fmt:
    27  	for pkg in ${PACKAGES}; do \
    28  		go fmt $$pkg; \
    29  	done;
    30  
    31  lint:
    32  	gometalinter --disable-all -E vet -E gofmt -E misspell -E ineffassign -E goimports -E deadcode --tests --vendor ./...
    33  
    34  golint:
    35  	for pkg in ${PACKAGES}; do \
    36  		golint $$pkg; \
    37  	done;
    38  
    39  test:
    40  	for pkg in ${PACKAGES}; do \
    41  		go test $$pkg; \
    42  	done;
    43  
    44  test-with-coverage:
    45  	echo "" > coverage.out
    46  	echo "mode: set" > coverage-all.out
    47  	for pkg in ${PACKAGES}; do \
    48  		go test -coverprofile=coverage.out -covermode=set $$pkg; \
    49  		tail -n +2 coverage.out >> coverage-all.out; \
    50  	done;
    51  	#go tool cover -html=coverage-all.out
    52  
    53  build-linux:
    54  	@go generate ./web
    55  	@docker run -it --rm -v $(shell pwd):/go/src/github.com/wanliu/go-oauth2-server --entrypoint "go" go-oauth2-server:latest build -o build/oauth2-server-linux .
    56  
    57  build-docker:
    58  	@docker build --rm -t go-oauth2-server:latest .
    59  
    60  clean-deploy: oauth2-server.zip
    61  	@rm oauth2-server.zip
    62  
    63  deploy-cd: build/oauth2-server-linux
    64  	@cp appspec.yml build/
    65  	@cp -r scripts build/
    66  	$(eval RETURN := $(AWSPUSH))
    67  	@echo "$(RETURN)" | sed 's/To deploy with this revision, run: //' | sed 's/<deployment-group-name>.*/$(GROUPNAME)/' | sh
    68  
    69  deploy: build/oauth2-server-linux
    70  	@-rm build/oauth2-server.zip
    71  	@cp -r scripts build/
    72  	@mkdir -p build/public/; cp -r public/styles build/public
    73  	@cp -r public/img build/public
    74  	@cp -r public/js build/public
    75  	@cp -r public/styles build/public
    76  	@cp -r public/slick build/public
    77  	@cp -r public/fontawesome build/public
    78  	@cp public/favicon.ico build/public
    79  	@cd build; zip -r oauth2-server.zip .
    80  	@ansible-playbook -i ansible/hosts ansible/site.yml