forked from e421083458/gin_scaffold
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
46 lines (36 loc) · 1.28 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
PREFIX:=golangboy
NAME := gin_scaffold
DEVTAG := dev
PRODTAG := latest
IMAGE := $(PREFIX)/$(NAME)
PACKNAME:= $(PREFIX)_$(NAME)_$(PRODTAG).tar
DEVPACKNAME:= $(PREFIX)_$(NAME)_$(DEVTAG).tar
AUTHBOX := /home/authbox/stor/
bin:
go build -o ./bin/gin_scaffold main.go
build:
# docker image prune -f
docker build --network host -f Dockerfile -t $(IMAGE):$(PRODTAG) .
run:
docker run --rm --name $(IMAGE) \
-p 8023:8023 \
-it $(IMAGE):$(PRODTAG)
pack: build
docker save $(IMAGE):$(PRODTAG) > images/$(PACKNAME)
devops:
ansible-playbook -i hosts deploy.yml --extra-vars "image=$(PACKNAME) workspace=$(PWD) authbox=$(AUTHBOX)"
lint:
docker run --rm --network host -e GOPROXY=https://goproxy.cn,direct -v $(PWD):/app -w /app golangci/golangci-lint:v1.27.0 golangci-lint run ./... --timeout=10m -v --out-format checkstyle > golangcilint.xml
sonar: lint
docker run --rm --network host -v $(PWD):/usr/src sonarsource/sonar-scanner-cli -Dproject.settings=sonar.properties
build-dev:
# docker image prune -f
docker build -f Dockerfile.debug -t $(IMAGE):$(DEVTAG) .
run-dev:
docker run --rm --name $(IMAGE) \
--security-opt="seccomp=unconfined" --cap-add=SYS_PTRACE \
-p 2345:2345 \
-p 8023:8023 \
-it $(IMAGE):${DEVTAG}
pack-dev: build-dev
docker save $(IMAGE):$(DEVTAG) > images/$(DEVPACKNAME)