forked from wrfly/gus-proxy
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathMakefile
62 lines (49 loc) · 1.31 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
NAME = gus-proxy
PKG = github.com/wrfly/$(NAME)/gus
BIN = bin
IMAGE := wrfly/$(NAME)
VERSION := $(shell cat VERSION)
COMMITID := $(shell git rev-parse --short HEAD)
BUILDAT := $(shell date +%Y-%m-%d)
CTIMEVAR = -X main.CommitID=$(COMMITID) \
-X main.Version=$(VERSION) \
-X main.BuildAt=$(BUILDAT)
GO_LDFLAGS = -ldflags "-s -w $(CTIMEVAR)" -tags netgo
export GO111MODULE=on
.PHONY: bin
bin:
mkdir -p bin
.PHONY: build
build: bin
go build $(GO_LDFLAGS) -o $(BIN)/$(NAME) $(PKG)
.PHONY: test
test:
go test -cover -v `glide nv`
.PHONY: dev
dev: build
./$(BIN)/$(NAME) -f proxyhosts_test.txt -d
.PHONY: curl
curl:
for i in `seq 9`;do \
curl --proxy http://localhost:8080 i.kfd.me ; \
done
.PHONY: release
release:
GOOS=linux GOARCH=amd64 go build $(GO_LDFLAGS) -o $(BIN)/$(NAME)_linux_amd64 .
GOOS=darwin GOARCH=amd64 go build $(GO_LDFLAGS) -o $(BIN)/$(NAME)_darwin_amd64 .
tar -C $(BIN) -czf $(BIN)/$(NAME)_linux_amd64.tgz $(NAME)_linux_amd64
tar -C $(BIN) -czf $(BIN)/$(NAME)_darwin_amd64.tgz $(NAME)_darwin_amd64
.PHONY: image
image:
docker build -t $(IMAGE) .
.PHONY: push-image
push-image:
docker push $(IMAGE)
.PHONY: push-develop
push-develop:
docker tag $(IMAGE) $(IMAGE):develop
docker push $(IMAGE):develop
.PHONY: push-tag
push-tag:
docker tag $(IMAGE) $(IMAGE):$(VERSION)
docker push $(IMAGE):$(VERSION)