-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path.drone.yml
144 lines (144 loc) · 3.49 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
142
143
144
pipeline:
restore_cache:
image: plugins/s3-cache
pull: true
endpoint: https://s3.amazonaws.com
accelerated_endpoint: s3-accelerate.amazonaws.com
root: /drone-cache-fusionapp
restore: true
mount:
- /drone/pip-cache
- /drone/pex-cache
secrets:
- aws_access_key_id
- aws_secret_access_key
when:
event:
- push
- pull_request
- tag
build:
image: fusionapp/base
pull: true
environment:
- PIP_CACHE_DIR=/drone/pip-cache
commands:
# Take this out once pex is in the base image
- /appenv/bin/pip install pex==1.4.1 requests==2.18.4
- >
/appenv/bin/pex
--python /appenv/bin/python
--no-pypi
--index https://pypi.org/simple/
--cache-dir /drone/pex-cache
--script twistd
--output-file fusion-index.pex
--always-write-cache
--requirement requirements.txt
.
- env PEX_MODULE=twisted.trial ./fusion-index.pex fusion_index
when:
event:
- push
- pull_request
- tag
rebuild_cache:
image: plugins/s3-cache
pull: true
endpoint: https://s3.amazonaws.com
accelerated_endpoint: s3-accelerate.amazonaws.com
root: /drone-cache-fusionapp
rebuild: true
mount:
- /drone/pip-cache
- /drone/pex-cache
secrets:
- aws_access_key_id
- aws_secret_access_key
when:
event: push
branch:
- master
flush_cache:
image: plugins/s3-cache
pull: true
endpoint: https://s3.amazonaws.com
accelerated_endpoint: s3-accelerate.amazonaws.com
root: /drone-cache-fusionapp
flush: true
secrets:
- aws_access_key_id
- aws_secret_access_key
when:
event: push
branch:
- master
publish:
image: plugins/ecr
region: eu-west-1
registry: 801493518741.dkr.ecr.eu-west-1.amazonaws.com
repo: 801493518741.dkr.ecr.eu-west-1.amazonaws.com/fusion-index
tags:
- ${DRONE_BRANCH}
- git-${DRONE_COMMIT_SHA}
when:
event: push
branch: master
secrets:
- ecr_access_key
- ecr_secret_key
deploy:
image: peloton/drone-rancher
url: https://rancher.fusionapp.com
service: Fusion/fusion-index
docker_image: 801493518741.dkr.ecr.eu-west-1.amazonaws.com/fusion-index:git-${DRONE_COMMIT_SHA}
start_first: false
confirm: true
timeout: 240
when:
event: push
branch: master
secrets:
- source: rancher_nonprod_access_key
target: rancher_access_key
- source: rancher_nonprod_secret_key
target: rancher_secret_key
deploy-production:
image: peloton/drone-rancher
url: https://rancher.fusionapp.com
service: fusion/fusion-index
docker_image: 801493518741.dkr.ecr.eu-west-1.amazonaws.com/fusion-index:git-${DRONE_COMMIT_SHA}
start_first: false
confirm: true
timeout: 240
when:
event: deployment
environment: production
secrets:
- source: rancher_prod_access_key
target: rancher_access_key
- source: rancher_prod_secret_key
target: rancher_secret_key
slack:
image: plugins/slack
secrets:
- slack_webhook
when:
status:
- success
- failure
slack_production:
image: plugins/slack
secrets:
- slack_webhook
channel: production
when:
event: deployment
environment: production
status:
- success
- failure
branches:
- master
- staging
- trying