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
---
kind: pipeline
type: docker
name: default
trigger:
event:
exclude:
- promote
- rollback
steps:
- name: client
image: node
commands:
- cd starkingdoms-client
- yarn
- yarn build
- cd dist
- tar cJvf client.tar.xz *
- name: upload_client
image: plugins/s3
depends_on:
- client
settings:
bucket:
from_secret: s3_bucket
endpoint:
from_secret: s3_host
access_key:
from_secret: s3_access_key
secret_key:
from_secret: s3_secret_key
source: starkingdoms-client/dist/client.tar.xz
target: builds/${DRONE_COMMIT_SHA}/client.tar.xz
path_style: true
- name: server
image: rust
commands:
- cd server
- cargo build --release
- name: upload_server
image: plugins/s3
depends_on:
- server
settings:
bucket:
from_secret: s3_bucket
endpoint:
from_secret: s3_host
access_key:
from_secret: s3_access_key
secret_key:
from_secret: s3_secret_key
source: target/release/starkingdoms-server
target: builds/${DRONE_COMMIT_SHA}/starkingdoms-server
path_style: true
- name: promote-unstable
image: drone/cli
when:
branch:
- bevy_rewrite
event:
- push
environment:
DRONE_SERVER:
from_secret: drone_url
DRONE_TOKEN:
from_secret: drone_token
commands:
- drone build promote ${DRONE_REPO} ${DRONE_BUILD_NUMBER} unstable
depends_on:
- upload_client
- upload_server
---
kind: pipeline
type: docker
name: deploy-unstable
trigger:
event:
- promote
target:
- production
steps:
- name: deploy
image: danihodovic/ansible
environment:
VAULT_PWD:
from_secret: vault_password
commands:
- echo "${VAULT_PWD}" > vault_password.txt
- ansible-playbook ansible/deploy.yml -i ansible/environments/unstable.yml --vault-password-file vault_password.txt
---
kind: pipeline
type: docker
name: deploy-beta
trigger:
event:
- promote
target:
- beta
steps:
- name: deploy
image: danihodovic/ansible
environment:
VAULT_PWD:
from_secret: vault_password
commands:
- echo "${VAULT_PWD}" > vault_password.txt
- ansible-playbook ansible/deploy.yml -i ansible/environments/beta.yml --vault-password-file vault_password.txt
---
kind: pipeline
type: docker
name: deploy-stable
trigger:
event:
- promote
target:
- unstable
steps:
- name: deploy
image: danihodovic/ansible
environment:
VAULT_PWD:
from_secret: vault_password
commands:
- echo "${VAULT_PWD}" > vault_password.txt
- ansible-playbook ansible/deploy.yml -i ansible/environments/stable.yml --vault-password-file vault_password.txt