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
---
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:
- unstable
steps:
- name: deploy
image: danihodovic/ansible
environment:
VAULT_PWD:
from_secret: vault_password
MINIO_BASE:
from_secret: s3_host
MINIO_BUCKET:
from_secret: s3_bucket
commands:
- echo "$VAULT_PWD" > vault_password.txt
- cat vault_password.txt
- ansible-playbook ansible/deploy.yml -i ansible/environments/unstable.yml --vault-password-file vault_password.txt -e "server_binary_url=$MINIO_BASE/$MINIO_BUCKET/builds/${DRONE_COMMIT_SHA}/starkingdoms-server/target/release/starkingdoms-server client_package_url=$MINIO_BASE/$MINIO_BUCKET/builds/${DRONE_COMMIT_SHA}/client.tar.xz/starkingdoms-client/dist/client.tar.xz"