-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathMakefile
77 lines (63 loc) · 1.66 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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
name=key-manager
registry=alexrudd
gitrepo=github.com/alexrudd
tag=2.1
go_ver=1.9
default:
@echo ""
@echo " make build"
@echo " compiles the key-manager app and builds the docker image"
@echo ""
@echo " make run"
@echo " runs the docker image in the background (stops any existing container)"
@echo ""
@echo " make stop"
@echo " stops the running key-manager container"
@echo ""
run: stop
docker run \
--name=${name} \
-d \
${registry}/${name}:${tag}
runt:
docker run \
--rm \
-ti \
${registry}/${name}:${tag} -debug
stop:
docker rm -f `docker ps -a | grep ${name} | head -n 1 | cut -d ' ' -f 1` || true
build: gofmt gobuild dockbuild
dockbuild:
[ -e ca-certificates.crt ] || curl -Lsf https://curl.haxx.se/ca/cacert.pem -o ca-certificates.crt
docker build -t ${registry}/${name}:${tag} .
gofmt:
# format
docker run \
-v `pwd`/key-manager:/go/src/key-manager:Z \
golang:${go_ver} \
go fmt ./src/key-manager/...
gobuild:
# copy src
mkdir -p _src/${gitrepo}/${name} _pkg _bin
cp -r key-manager/* _src/${gitrepo}/${name}
# compile
docker run \
-v `pwd`/_pkg:/go/pkg:Z \
-v `pwd`/_bin:/go/bin:Z \
-v `pwd`/_src:/go/src:Z \
-e CGO_ENABLED=0 \
-e GOOS=linux \
golang:${go_ver} \
go get ./src/${gitrepo}/${name}/...
clean:
rm -rf _*
pull:
docker pull ${registry}/${name}:${tag}
push:
docker push ${registry}/${name}:${tag}
logs:
@docker logs `docker ps | grep ${name} | head -n 1 | cut -d ' ' -f 1`
logsf:
@docker logs -f `docker ps | grep ${name} | head -n 1 | cut -d ' ' -f 1`
attach:
docker exec -ti `docker ps | grep ${name} | head -n 1 | cut -d ' ' -f 1` /bin/sh