-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.drone.yml
161 lines (152 loc) · 4.12 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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
---
################
# Build & Test #
################
kind: pipeline
type: docker
name: run_tests
steps:
- name: test-3-8
image: python:3.8
commands:
- pip3 install --upgrade tox
- tox -e py38,lint
# ---
# #############################
# # Testing build and deploy
# #############################
# kind: pipeline
# type: docker
# name: Build and deploy for develop
#
# trigger:
# branch:
# - relay.md/develop
# status:
# # Only runs if the first pipeline was fully successful
# - success
# depends_on:
# # Must run after the first pipeline
# - run_tests
#
# steps:
# - name: docker
# image: plugins/docker
# settings:
# username:
# from_secret: CI_REGISTRY_USER
# password:
# from_secret: CI_REGISTRY_PASSWORD
# repo: registry.infra.chainsquad.com/relay.md/backend
# registry: registry.infra.chainsquad.com
# tags:
# - "develop.${DRONE_BUILD_NUMBER}"
#
# - name: clone jobs
# image: alpine/git
# environment:
# # drone secrets add --image=<image> <repo> SSH_KEY @/path/to/.ssh/id_rsa
# DEPLOY_KEY:
# from_secret: DEPLOY_KEY
# commands:
# # https://stackoverflow.com/a/52812550
# - mkdir $HOME/.ssh && echo "$DEPLOY_KEY" > $HOME/.ssh/id_rsa && chmod 600 $HOME/.ssh/id_rsa
# - echo "Host *" >> ~/.ssh/config
# - echo " StrictHostKeyChecking no" >> ~/.ssh/config
# - git clone ssh://[email protected]:2222/knowledgemd/jobs.git
#
# - name: deploy
# depends_on:
# - clone jobs
# - docker
# image: hashicorp/nomad
# environment:
# NOMAD_ADDR: https://nomad.infra.chainsquad.com
# NOMAD_TOKEN:
# from_secret: NOMAD_TOKEN
# NOMAD_VAR_registry_auth:
# from_secret: NOMAD_VAR_registry_auth
# NOMAD_VAR_api_image_version: "develop.${DRONE_BUILD_NUMBER}"
# commands:
# - wget https://letsencrypt.org/certs/lets-encrypt-r3.pem
# - nomad job run -ca-cert lets-encrypt-r3.pem -detach jobs/relaymd-testing.hcl
---
################
# Semantic release
################
kind: pipeline
type: docker
name: semantic-version
depends_on:
- run_tests
trigger:
branch: relay.md/master
event: push
status:
# Only runs if the first pipeline was fully successful
- success
steps:
- name: semver
image: python:3.8
commands:
- pip3 install -U python-semantic-release
- semantic-release publish
---
#############################
# Production build and deploy
#############################
kind: pipeline
type: docker
name: Build and deploy for prod
trigger:
event:
- tag
status:
# Only runs if the first pipeline was fully successful
- success
depends_on:
# Must run after the first pipeline
- run_tests
steps:
- name: tags
image: python:3.8
commands:
- echo "${DRONE_TAG},latest" > .tags
- name: docker
image: plugins/docker
depends_on:
- tags
settings:
username:
from_secret: CI_REGISTRY_USER
password:
from_secret: CI_REGISTRY_PASSWORD
repo: registry.infra.chainsquad.com/relay.md/backend
registry: registry.infra.chainsquad.com
- name: clone jobs
image: alpine/git
environment:
# drone secrets add --image=<image> <repo> SSH_KEY @/path/to/.ssh/id_rsa
DEPLOY_KEY:
from_secret: DEPLOY_KEY
commands:
# https://stackoverflow.com/a/52812550
- mkdir $HOME/.ssh && echo "$DEPLOY_KEY" > $HOME/.ssh/id_rsa && chmod 600 $HOME/.ssh/id_rsa
- echo "Host *" >> ~/.ssh/config
- echo " StrictHostKeyChecking no" >> ~/.ssh/config
- git clone ssh://[email protected]:2222/knowledgemd/jobs.git
- name: deploy
depends_on:
- clone jobs
- docker
image: hashicorp/nomad
environment:
NOMAD_ADDR: https://nomad.infra.chainsquad.com
NOMAD_TOKEN:
from_secret: NOMAD_TOKEN
NOMAD_VAR_registry_auth:
from_secret: NOMAD_VAR_registry_auth
NOMAD_VAR_api_image_version: "${DRONE_TAG}"
commands:
- wget https://letsencrypt.org/certs/lets-encrypt-r3.pem
- nomad job run -ca-cert lets-encrypt-r3.pem -detach jobs/relaymd-backend.hcl