-
Notifications
You must be signed in to change notification settings - Fork 51
/
.drone.yml
141 lines (123 loc) · 3.08 KB
/
.drone.yml
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
kind: pipeline
name: CI/CD for UI
clone:
depth: 50
steps:
- name: fetch tags
image: docker:git
commands:
- git fetch --tags
- name: build
image: node:10.15.1
volumes:
- name: cache
path: /tmp/cache
commands:
- cd app
- npm install
- npm run build
- name: publish image
image: plugins/docker:17.12
settings:
repo: lotteryjs/ui-ten-minutes
auto_tag: true
dockerfile: Dockerfile.UI
username:
from_secret: docker_username
password:
from_secret: docker_password
- name: update docker-compose
image: appleboy/drone-scp
settings:
host:
from_secret: host
port:
from_secret: port
username:
from_secret: username
password:
from_secret: password
target: /data/wwwroot/ten-minutes
source: docker-compose.UI.yml
- name: restart
image: appleboy/drone-ssh
pull: true
settings:
host:
from_secret: host
port:
from_secret: port
username:
from_secret: username
password:
from_secret: password
script:
- cd /data/wwwroot/ten-minutes
- docker-compose -f docker-compose.UI.yml pull ui-ten-minutes
- docker-compose -f docker-compose.UI.yml up -d --force-recreate --no-deps ui-ten-minutes
- docker images --quiet --filter=dangling=true | xargs --no-run-if-empty docker rmi -f
volumes:
- name: cache
temp: {}
trigger:
event:
- tag
---
kind: pipeline
name: CI/CD for API
clone:
depth: 50
steps:
- name: fetch tags
image: docker:git
commands:
- git fetch --tags
- name: build
image: golang:1.12
pull: true
commands:
- export LD_FLAGS="-w -s -X main.Version=$(git describe --tags | cut -c 2-) -X main.BuildDate=$(date "+%F-%T") -X main.Commit=$(git rev-parse --verify HEAD) -X main.Mode=prod"
- make build_linux_amd64
- name: publish image
image: plugins/docker:17.12
settings:
repo: lotteryjs/api-ten-minutes
auto_tag: true
dockerfile: Dockerfile.API
username:
from_secret: docker_username
password:
from_secret: docker_password
- name: update docker-compose
image: appleboy/drone-scp
settings:
host:
from_secret: host
port:
from_secret: port
username:
from_secret: username
password:
from_secret: password
target: /data/wwwroot/tenapi
source: docker-compose.API.yml
- name: restart
image: appleboy/drone-ssh
pull: true
settings:
host:
from_secret: host
port:
from_secret: port
username:
from_secret: username
password:
from_secret: password
script:
- cd /data/wwwroot/tenapi
- docker-compose -f docker-compose.API.yml pull api-ten-minutes
- docker-compose -f docker-compose.API.yml up -d --force-recreate --no-deps api-ten-minutes
- docker images --quiet --filter=dangling=true | xargs --no-run-if-empty docker rmi -f
trigger:
event:
- tag