-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSupfile
More file actions
157 lines (132 loc) · 2.96 KB
/
Supfile
File metadata and controls
157 lines (132 loc) · 2.96 KB
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# Api
---
version: 0.5
env:
NAME: api
IMAGE: gcr.io/verdant-descent-153101/api
HOST_PORT: 5331
CONTAINER_PORT: 5331
CONFIG: /data/etc/api.conf
GITORIGIN: $(git rev-parse origin/master)
GITSTAGING: $(git rev-parse origin/staging)
networks:
local:
env:
ENV: localhost
hosts:
- localhost
staging:
env:
ENV: staging
ENV_BRANCH: staging
IMAGENAME: ${IMAGE}:staging-${GITSTAGING}
NETWORK: staging
hosts:
- root@138.197.154.71
production:
env:
ENV: production
ENV_BRANCH: master
IMAGENAME: ${IMAGE}:master-${GITORIGIN}
NETWORK: localyyz
hosts:
- root@138.197.148.245
commands:
config:
desc: Upload/test config file.
upload:
- src: ./config/api.$SUP_NETWORK.conf
dst: /tmp/
run:
test -f /tmp/config/api.$SUP_NETWORK.conf || exit 1 && mv /tmp/config/api.$SUP_NETWORK.conf $CONFIG
ping:
desc: Print uname and current date/time.
run: echo $IMAGENAME; uname -a; date
ps:
desc: List running Docker containers
run: docker ps | grep $IMAGENAME
pull:
desc: Pull latest Docker image
run: docker pull $IMAGENAME
generate-docs:
desc: Generate api docs with chi docgen
local: >
make docs
once: true
image:
desc: List Docker image
run: docker images | grep $IMAGE
migrate:
desc: Migrate database
script: ./scripts/migrate.sh
once: true
run:
desc: Run Docker container
script: ./scripts/docker-run.sh
logs:
desc: Docker logs
run: docker logs $NAME
tail-logs:
desc: Tail Docker logs
run: docker logs --tail=200 -f $NAME 2>&1
start:
desc: Start Docker container
run: docker start $NAME || exit 0
restart:
desc: Restart Docker container
run: docker restart $NAME || exit 0
stop:
desc: Stop Docker container
run: docker stop $NAME || exit 0
rm:
desc: Remove Docker container
run: docker rm $NAME || exit 0
prune:
desc: Prune stale containers
run: docker system prune --force || exit 0
clean-tags:
desc: Clean old docker image tags
local: >
make clean-tags
shell:
desc: Interactive shell on all hosts
stdin: true
run: /bin/sh
deploy-scheduler:
desc: Deploy Scheduler service
local: sup -f ./scheduler/Supfile $SUP_NETWORK deploy
deploy-reporter:
desc: Deploy Reporter service
local: sup -f ./reporter/Supfile $SUP_NETWORK deploy
deploy-merchant:
desc: Deploy Merchant service
local: sup -f ./merchant/Supfile $SUP_NETWORK deploy
deploy-syncer:
desc: Deploy Syncer service
local: sup -f ./syncer/Supfile $SUP_NETWORK deploy
targets:
deploy:
- pull
- config
- migrate
- stop
- rm
- run
- ps
- logs
- prune
- clean-tags
deploy-all:
- pull
- config
- migrate
- stop
- rm
- run
- ps
- logs
- prune
- deploy-scheduler
- deploy-syncer
- deploy-reporter
- deploy-merchant