M .drone.yml => .drone.yml +26 -0
@@ 264,3 264,29 @@ steps:
- 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"
+
+---
+kind: pipeline
+type: docker
+name: deploy-backplane
+trigger:
+ event:
+ - promote
+ target:
+ - backplane
+steps:
+ - name: deploy
+ image: pad92/ansible-alpine
+ environment:
+ VAULT_PWD:
+ from_secret: vault_password
+ MINIO_BASE:
+ from_secret: s3_host
+ MINIO_BUCKET:
+ from_secret: s3_bucket
+ ANSIBLE_FORCE_COLOR: 1
+ ANSIBLE_HOST_KEY_CHECKING: False
+ commands:
+ - echo "$VAULT_PWD" > vault_password.txt
+ - cat vault_password.txt
+ - ansible-playbook ansible/deploy_backplane.yml -i ansible/global/backplane.yml --vault-password-file vault_password.txt -e "backplane_binary_url=$MINIO_BASE/$MINIO_BUCKET/builds/${DRONE_COMMIT_SHA}/starkingdoms-backplane/target/release/starkingdoms-backplane"
A ansible/deploy_backplane.yml => ansible/deploy_backplane.yml +19 -0
@@ 0,0 1,19 @@
+- name: Deploy backplane
+ hosts: backplaneservers
+ connection: ssh
+ tasks:
+ - name: Ensure host connectivity
+ ansible.builtin.ping:
+ - name: Stop backplane server
+ ansible.builtin.command:
+ cmd: sv stop starkingdoms-backplane
+ become: true
+ - name: Download new game server file
+ ansible.builtin.get_url:
+ url: "{{ backplane_binary_url }}"
+ dest: /opt/starkingdoms-backplane/starkingdoms-backplane
+ mode: '0777'
+ - name: Start backplane server
+ ansible.builtin.command:
+ cmd: sv start starkingdoms-backplane
+ become: true<
\ No newline at end of file
A ansible/global/backplane.yml => ansible/global/backplane.yml +21 -0
@@ 0,0 1,21 @@
+backplaneservers:
+ hosts:
+ backplane.starkingdoms.io:
+ ansible_password: !vault |
+ $ANSIBLE_VAULT;1.1;AES256
+ 33613063633464623864346239346332383035366462393733643765376464363330326464353761
+ 3138363931396161326338313836303931643066316231650a383134383431316265623763613739
+ 39336332346130343133613831343533306435396337383663363561623831653230663036343463
+ 3531386332663837340a363737386338623765326330383738643031623734616538653236623131
+ 36323438343633323838333961616266643263343334366334346631656363383033383364366262
+ 6636386161313530646564363131346266393061386563303132
+ ansible_become_password: !vault |
+ $ANSIBLE_VAULT;1.1;AES256
+ 33613063633464623864346239346332383035366462393733643765376464363330326464353761
+ 3138363931396161326338313836303931643066316231650a383134383431316265623763613739
+ 39336332346130343133613831343533306435396337383663363561623831653230663036343463
+ 3531386332663837340a363737386338623765326330383738643031623734616538653236623131
+ 36323438343633323838333961616266643263343334366334346631656363383033383364366262
+ 6636386161313530646564363131346266393061386563303132
+ vars:
+ ansible_user: team<
\ No newline at end of file