From 282b972014083527af65a9fd5472e63639afc13b Mon Sep 17 00:00:00 2001 From: core Date: Sat, 25 Nov 2023 20:03:40 -0500 Subject: [PATCH] deployment! --- .drone.yml | 59 ++++++++++++++++++++++++++++++- ansible/deploy.yml | 27 ++++++++++++++ ansible/environments/beta.yml | 7 ++++ ansible/environments/stable.yml | 7 ++++ ansible/environments/unstable.yml | 14 ++++++++ 5 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 ansible/deploy.yml create mode 100644 ansible/environments/beta.yml create mode 100644 ansible/environments/stable.yml create mode 100644 ansible/environments/unstable.yml diff --git a/.drone.yml b/.drone.yml index 252acd862156c9859c3b33183c201fcd4ef57dca..e9c194c6c4e5637d91c7d7f818ba9436c91fb706 100644 --- a/.drone.yml +++ b/.drone.yml @@ -2,6 +2,11 @@ kind: pipeline type: docker name: default +trigger: + event: + exclude: + - promote + - rollback steps: - name: client @@ -64,4 +69,56 @@ steps: target: unstable depends_on: - upload_client - - upload_server \ No newline at end of file + - 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: + - ansible-playbook ansible/deploy.yml -i ansible/environments/unstable.yml --vault-password-file <(echo ${VAULT_PWD}) +--- +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: + - ansible-playbook ansible/deploy.yml -i ansible/environments/beta.yml --vault-password-file <(echo ${VAULT_PWD}) +--- +kind: pipeline +type: docker +name: deploy-stable +trigger: + event: + - promote + target: + - beta +steps: + - name: deploy + image: danihodovic/ansible + environment: + VAULT_PWD: + from_secret: vault_password + commands: + - ansible-playbook ansible/deploy.yml -i ansible/environments/stable.yml --vault-password-file <(echo ${VAULT_PWD}) \ No newline at end of file diff --git a/ansible/deploy.yml b/ansible/deploy.yml new file mode 100644 index 0000000000000000000000000000000000000000..331d2ed8c89f621d4aef9ff8310187b8c9752ff9 --- /dev/null +++ b/ansible/deploy.yml @@ -0,0 +1,27 @@ +- name: Deploy servers + hosts: gameservers + tasks: + - name: Ensure host connectivity + ansible.builtin.ping: + - name: Stop game server + ansible.builtin.shell: + cmd: sv stop starkingdoms + sudo: yes + - name: Download new game server file + ansible.builtin.get_url: + url: {{ server_binary_url }} + dest: /opt/starkingdoms/starkingdoms-server + mode: '0777' + - name: Remove old client assets + ansible.builtin.shell: + cmd: rm -rf assets + chdir: /opt/starkingdoms/client/ + - name: Download and unpack client package + ansible.builtin.unarchive: + src: {{ client_package_url }} + dest: /opt/starkingdoms/client/ + remote_src: yes + - name: Start game server + ansible.builtin.shell: + cmd: sv start starkingdoms + sudo: yes \ No newline at end of file diff --git a/ansible/environments/beta.yml b/ansible/environments/beta.yml new file mode 100644 index 0000000000000000000000000000000000000000..3cf7758329966077bf47d70345d1b022f807a2fd --- /dev/null +++ b/ansible/environments/beta.yml @@ -0,0 +1,7 @@ +gameservers: + hosts: + srv01.beta.envs.starkingdoms.io: + ansible_port: 20451 + ansible_password: TODO_PUT_THIS_HERE + vars: + ansible_user: stk \ No newline at end of file diff --git a/ansible/environments/stable.yml b/ansible/environments/stable.yml new file mode 100644 index 0000000000000000000000000000000000000000..87a02cbe0882a7d177585d8fb8df270a4ad13c99 --- /dev/null +++ b/ansible/environments/stable.yml @@ -0,0 +1,7 @@ +gameservers: + hosts: + srv01.stable.envs.starkingdoms.io: + ansible_port: 20450 + ansible_password: TODO_PUT_THIS_HERE + vars: + ansible_user: stk \ No newline at end of file diff --git a/ansible/environments/unstable.yml b/ansible/environments/unstable.yml new file mode 100644 index 0000000000000000000000000000000000000000..85d1a6625df04181db50d0f2ca89d89f4966d453 --- /dev/null +++ b/ansible/environments/unstable.yml @@ -0,0 +1,14 @@ +gameservers: + hosts: + srv01.unstable.envs.starkingdoms.io: + ansible_port: 20452 + ansible_password: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 62613139386531666161396438613834363735633531663738663262346162303031613763346637 + 3663313932393738303766376239383933306637336566330a663061303263316134346434323830 + 66633239613039646431303634303965316531333063323537373039316635316238343539653137 + 6463653339343439650a373138333165393838626437366466636134326664653832356631646436 + 63373364303430633031643237303235346463626233346664353531383063663430383964306266 + 6631393765336366316239326466396563386565646334376438 + vars: + ansible_user: stk \ No newline at end of file