|
1 |
| -LDFLAGS:=-w |
2 |
| -BUILD_DIR:=./build/ |
3 |
| -PROJECT_NAME:=supervisor-event-listener |
4 |
| -VERSION:=1.1.1 |
| 1 | +project_name:=supervisor-event-listener |
| 2 | +project_version:=1.2.0 |
| 3 | +root_dir := $(abspath $(CURDIR)) |
| 4 | +build_dir := $(root_dir)/build |
| 5 | +GOPATH := ${HOME}/go |
5 | 6 |
|
6 |
| -install: |
7 |
| - cp ./supervisor-event-listener /usr/local/bin/ |
8 | 7 |
|
| 8 | +.PHONY: clean |
| 9 | +clean: |
| 10 | + rm -fr $(buld_dir) |
9 | 11 |
|
10 |
| -test-integration: |
11 |
| - go build |
12 |
| - sudo supervisorctl stop supervisor-event-listener |
13 |
| - sudo cp ./supervisor-event-listener /usr/local/bin/ |
14 |
| - sudo cp ./tests/supervisor-app.ini /etc/supervisor.d/ |
15 |
| - sudo supervisorctl remove supervisor-event-listener |
16 |
| - sudo supervisorctl update supervisor-event-listener |
17 |
| - sudo supervisorctl tail -f supervisor-event-listener stderr |
| 12 | +.PHONY: build-bydocker |
| 13 | +build-bydocker: |
| 14 | + sudo docker run -it --rm \ |
| 15 | + -v $(GOPATH)/:/root/go/ \ |
| 16 | + -v $(root_dir)/:/$(project_name) \ |
| 17 | + -w /$(project_name)/ \ |
| 18 | + golang:1.16.2-buster \ |
| 19 | + make build |
18 | 20 |
|
19 | 21 |
|
20 |
| -clean: |
21 |
| - rm -fr $(BUILD_DIR) |
| 22 | +.PHONY: build |
| 23 | +build: |
| 24 | + GO111MODULE=on go build -o $(project_name) ./$(project_name).go |
22 | 25 |
|
23 | 26 |
|
24 |
| -release: |
25 |
| - GOOS=linux GOARCH=amd64 go build -ldflags $(LDFLAGS) |
26 |
| - rm -fr $(BUILD_DIR)/$(PROJECT_NAME)/ |
27 |
| - mkdir -p $(BUILD_DIR)/$(PROJECT_NAME)/ |
28 |
| - mv ./supervisor-event-listener $(BUILD_DIR)/$(PROJECT_NAME)/ |
29 |
| - cp ./supervisor-event-listener.ini $(BUILD_DIR)/$(PROJECT_NAME)/ |
30 |
| - cd $(BUILD_DIR) && tar -zcvf $(PROJECT_NAME)-$(VERSION).tar.gz $(PROJECT_NAME) |
| 27 | +.PHONY: release |
| 28 | +release: clean build-bydocker |
| 29 | + mkdir -p $(build_dir)/$(project_name)/ |
| 30 | + mv ./supervisor-event-listener $(build_dir)/$(project_name)/ |
| 31 | + cp ./supervisor-event-listener.toml $(build_dir)/$(project_name)/ |
| 32 | + cd $(build_dir) && tar -zcvf $(project_name)-$(project_version).tar.gz $(project_name) |
31 | 33 | @echo ...done.
|
32 | 34 |
|
33 | 35 |
|
|
42 | 44 | tmux attach -t dev
|
43 | 45 | tmux kill-session -t dev
|
44 | 46 |
|
| 47 | + |
| 48 | +test-integration: |
| 49 | + go build |
| 50 | + sudo supervisorctl stop supervisor-event-listener |
| 51 | + sudo cp ./supervisor-event-listener /usr/local/bin/ |
| 52 | + sudo cp ./tests/supervisor-app.ini /etc/supervisor.d/ |
| 53 | + sudo supervisorctl remove supervisor-event-listener |
| 54 | + sudo supervisorctl update supervisor-event-listener |
| 55 | + sudo supervisorctl tail -f supervisor-event-listener stderr |
| 56 | + |
0 commit comments