-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
48 lines (37 loc) · 958 Bytes
/
Makefile
File metadata and controls
48 lines (37 loc) · 958 Bytes
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
NAME = mg
VERSION ?= v1.1.2
GOOS := $(shell go env GOOS)
GOARCH := $(shell go env GOARCH)
bin/$(NAME): build
build:
CGO_ENABLED=0 go build -i -ldflags="-s -w -X main.version=$(VERSION)" -o bin/$(NAME) cmd/$(NAME)/*.go
dist: build
mkdir -p dist
tar cfz dist/$(NAME)-$(VERSION)_$(GOOS)_$(GOARCH).tar.gz -C bin/ $(NAME)
clean:
rm -rf bin dist
test: database-up go-test database-down
go-test:
sleep 10
go test ./...
database-up: postgres-up mysql-up
database-down: postgres-down mysql-down
postgres-up:
docker run -d \
-p 5432:5432 \
-e POSTGRES_DB=dbname \
-e POSTGRES_USER=user \
-e POSTGRES_PASSWORD=password \
--name=$(NAME)-postgres postgres:9.6
postgres-down:
docker rm -f $(NAME)-postgres
mysql-up:
docker run -d \
-p 3306:3306 \
-e MYSQL_DATABASE=dbname \
-e MYSQL_USER=user \
-e MYSQL_PASSWORD=password \
-e MYSQL_ROOT_PASSWORD=password \
--name=$(NAME)-mysql mysql:5.7
mysql-down:
docker rm -f $(NAME)-mysql