mirror of
https://github.com/CivMC/Civ.git
synced 2026-07-15 23:20:44 +00:00
new workflows
This commit is contained in:
50
.github/workflows/ansible_update_specific_server_paper.yml
vendored
Normal file
50
.github/workflows/ansible_update_specific_server_paper.yml
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
name: 🏗️ Ansible | Update Paper Server
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
environment:
|
||||
description: 'Environment to Update'
|
||||
type: environment
|
||||
required: true
|
||||
default: Test
|
||||
|
||||
jobs:
|
||||
update-server:
|
||||
runs-on: ubuntu-latest
|
||||
environment: ${{inputs.environment}}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: ☕ Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
cache: 'gradle'
|
||||
|
||||
- name: 🐘 Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@v3
|
||||
|
||||
- name: 🐘 Gradle Build
|
||||
run: CI=true ./gradlew :ansible:copyPaperPlugins --parallel --no-daemon
|
||||
|
||||
- name: Inject secrets
|
||||
run: 'echo "$SECRETS_YML" > variables/secrets.yml'
|
||||
shell: bash
|
||||
working-directory: ./ansible
|
||||
env:
|
||||
SECRETS_YML: ${{secrets.SECRETS_YML}}
|
||||
SUDO_PASSWORD: ${{secrets.SUDO_PASSWORD}}
|
||||
|
||||
- name: Update Paper Server
|
||||
uses: dawidd6/action-ansible-playbook@v2
|
||||
with:
|
||||
playbook: ansible/playbooks/update-server-paper.yml
|
||||
requirements: ansible/requirements.yml
|
||||
key: ${{secrets.SSH_PRIVATE_KEY}}
|
||||
known_hosts: ${{secrets.SSH_KNOWN_HOSTS}}
|
||||
options: |
|
||||
--inventory ./ansible/inventories/civmc-${{inputs.environment}}.yml
|
||||
-e "ansible_become_password=${{secrets.SUDO_PASSWORD}}"
|
||||
50
.github/workflows/ansible_update_specific_server_pvp.yml
vendored
Normal file
50
.github/workflows/ansible_update_specific_server_pvp.yml
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
name: 🏗️ Ansible | Update PvP Server
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
environment:
|
||||
description: 'Environment to Update'
|
||||
type: environment
|
||||
required: true
|
||||
default: Test
|
||||
|
||||
jobs:
|
||||
update-server:
|
||||
runs-on: ubuntu-latest
|
||||
environment: ${{inputs.environment}}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: ☕ Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
cache: 'gradle'
|
||||
|
||||
- name: 🐘 Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@v3
|
||||
|
||||
- name: 🐘 Gradle Build
|
||||
run: CI=true ./gradlew :ansible:copyPvpPlugins --parallel --no-daemon
|
||||
|
||||
- name: Inject secrets
|
||||
run: 'echo "$SECRETS_YML" > variables/secrets.yml'
|
||||
shell: bash
|
||||
working-directory: ./ansible
|
||||
env:
|
||||
SECRETS_YML: ${{secrets.SECRETS_YML}}
|
||||
SUDO_PASSWORD: ${{secrets.SUDO_PASSWORD}}
|
||||
|
||||
- name: Update PvP Server
|
||||
uses: dawidd6/action-ansible-playbook@v2
|
||||
with:
|
||||
playbook: ansible/playbooks/update-server-pvp.yml
|
||||
requirements: ansible/requirements.yml
|
||||
key: ${{secrets.SSH_PRIVATE_KEY}}
|
||||
known_hosts: ${{secrets.SSH_KNOWN_HOSTS}}
|
||||
options: |
|
||||
--inventory ./ansible/inventories/civmc-${{inputs.environment}}.yml
|
||||
-e "ansible_become_password=${{secrets.SUDO_PASSWORD}}"
|
||||
@@ -2,6 +2,12 @@
|
||||
hosts: all
|
||||
become: true
|
||||
|
||||
vars:
|
||||
servers:
|
||||
- pvp
|
||||
- paper
|
||||
- proxy
|
||||
|
||||
tasks:
|
||||
- name: Stop Server| Include Preflight
|
||||
include_tasks: ../tasks/preflight-checks.yml
|
||||
|
||||
@@ -2,6 +2,12 @@
|
||||
hosts: all
|
||||
become: true
|
||||
|
||||
vars:
|
||||
servers:
|
||||
- pvp
|
||||
- paper
|
||||
- proxy
|
||||
|
||||
tasks:
|
||||
- name: Update Serer | Include Preflight
|
||||
include_tasks: ../tasks/preflight-checks.yml
|
||||
|
||||
26
ansible/playbooks/update-server-paper.yml
Normal file
26
ansible/playbooks/update-server-paper.yml
Normal file
@@ -0,0 +1,26 @@
|
||||
- name: Update Server (Minecraft)
|
||||
hosts: all
|
||||
become: true
|
||||
|
||||
vars:
|
||||
servers:
|
||||
- paper
|
||||
|
||||
tasks:
|
||||
- name: Update Serer | Include Preflight
|
||||
include_tasks: ../tasks/preflight-checks.yml
|
||||
|
||||
- name: Update Server | Expand setting
|
||||
include_tasks: ../tasks/expand-setting.yml
|
||||
|
||||
- name: Update Server | Include Stop Tasks
|
||||
include_tasks:
|
||||
file: '../tasks/stop-server.yml'
|
||||
|
||||
- name: Update Server | Include Deployment Tasks
|
||||
include_tasks:
|
||||
file: '../tasks/deploy/{{deploy_task}}.yml'
|
||||
loop:
|
||||
- stacks
|
||||
loop_control:
|
||||
loop_var: deploy_task
|
||||
26
ansible/playbooks/update-server-pvp.yml
Normal file
26
ansible/playbooks/update-server-pvp.yml
Normal file
@@ -0,0 +1,26 @@
|
||||
- name: Update Server (Minecraft)
|
||||
hosts: all
|
||||
become: true
|
||||
|
||||
vars:
|
||||
servers:
|
||||
- pvp
|
||||
|
||||
tasks:
|
||||
- name: Update Serer | Include Preflight
|
||||
include_tasks: ../tasks/preflight-checks.yml
|
||||
|
||||
- name: Update Server | Expand setting
|
||||
include_tasks: ../tasks/expand-setting.yml
|
||||
|
||||
- name: Update Server | Include Stop Tasks
|
||||
include_tasks:
|
||||
file: '../tasks/stop-server.yml'
|
||||
|
||||
- name: Update Server | Include Deployment Tasks
|
||||
include_tasks:
|
||||
file: '../tasks/deploy/{{deploy_task}}.yml'
|
||||
loop:
|
||||
- stacks
|
||||
loop_control:
|
||||
loop_var: deploy_task
|
||||
@@ -2,6 +2,12 @@
|
||||
hosts: all
|
||||
become: true
|
||||
|
||||
vars:
|
||||
servers:
|
||||
- pvp
|
||||
- paper
|
||||
- proxy
|
||||
|
||||
tasks:
|
||||
- name: Update Serer | Include Preflight
|
||||
include_tasks: ../tasks/preflight-checks.yml
|
||||
@@ -33,7 +39,7 @@
|
||||
- ufw
|
||||
loop_control:
|
||||
loop_var: configure_task
|
||||
|
||||
|
||||
- name: Update Server | Include Deployment Tasks
|
||||
include_tasks:
|
||||
file: '../tasks/deploy/{{deploy_task}}.yml'
|
||||
|
||||
@@ -27,8 +27,8 @@
|
||||
path: '{{item.path}}'
|
||||
state: directory
|
||||
loop:
|
||||
- { path: '/opt/stacks/minecraft/paper-data', enabled: setting.minecraft.enabled }
|
||||
- { path: '/opt/stacks/minecraft/pvp-data', enabled: setting.minecraft.enabled }
|
||||
- { path: '/opt/stacks/minecraft/paper-data', enabled: '{{ setting.minecraft.enabled and "''paper''" in servers }}' }
|
||||
- { path: '/opt/stacks/minecraft/pvp-data', enabled: '{{ setting.minecraft.enabled and "''pvp''" in servers }}' }
|
||||
- { path: '/opt/stacks/minecraft/mariadb-data', enabled: setting.minecraft.enabled }
|
||||
- { path: '/opt/stacks/minecraft/postgres-data', enabled: setting.minecraft.enabled }
|
||||
|
||||
@@ -50,12 +50,12 @@
|
||||
path: '/opt/stacks/{{item.path}}'
|
||||
state: absent
|
||||
loop:
|
||||
- { path: 'minecraft/paper-config', enabled: setting.minecraft.enabled }
|
||||
- { path: 'minecraft/paper-plugins', enabled: setting.minecraft.enabled }
|
||||
- { path: 'minecraft/proxy-config', enabled: setting.minecraft.enabled }
|
||||
- { path: 'minecraft/proxy-plugins', enabled: setting.minecraft.enabled }
|
||||
- { path: 'minecraft/pvp-config', enabled: setting.minecraft.enabled }
|
||||
- { path: 'minecraft/pvp-plugins', enabled: setting.minecraft.enabled }
|
||||
- { path: 'minecraft/paper-config', enabled: '{{ setting.minecraft.enabled and "''paper''" in servers }}' }
|
||||
- { path: 'minecraft/paper-plugins', enabled: '{{ setting.minecraft.enabled and "''paper''" in servers }}' }
|
||||
- { path: 'minecraft/proxy-config', enabled: '{{ setting.minecraft.enabled and "''proxy''" in servers }}' }
|
||||
- { path: 'minecraft/proxy-plugins', enabled: '{{ setting.minecraft.enabled and "''proxy''" in servers }}' }
|
||||
- { path: 'minecraft/pvp-config', enabled: '{{ setting.minecraft.enabled and "''pvp''" in servers }}' }
|
||||
- { path: 'minecraft/pvp-plugins', enabled: '{{ setting.minecraft.enabled and "''pvp''" in servers }}' }
|
||||
|
||||
- name: Deploy Stacks | Synchronize Files
|
||||
become: false
|
||||
@@ -67,12 +67,12 @@
|
||||
dest: '~/stacks/{{item.target}}'
|
||||
delete: true
|
||||
loop:
|
||||
- { file: '../../files/paper-config', target: 'minecraft', enabled: setting.minecraft.enabled }
|
||||
- { file: '../../files/proxy-config', target: 'minecraft', enabled: setting.minecraft.enabled }
|
||||
- { file: '../../files/pvp-config', target: 'minecraft', enabled: setting.minecraft.enabled }
|
||||
- { file: '../../build/paper-plugins', target: 'minecraft', enabled: setting.minecraft.enabled }
|
||||
- { file: '../../build/proxy-plugins', target: 'minecraft', enabled: setting.minecraft.enabled }
|
||||
- { file: '../../build/pvp-plugins', target: 'minecraft', enabled: setting.minecraft.enabled }
|
||||
- { file: '../../files/paper-config', enabled: '{{ setting.minecraft.enabled and "''paper''" in servers }}' }
|
||||
- { file: '../../files/proxy-config', enabled: '{{ setting.minecraft.enabled and "''proxy''" in servers }}' }
|
||||
- { file: '../../files/pvp-config', enabled: '{{ setting.minecraft.enabled and "''pvp''" in servers }}' }
|
||||
- { file: '../../build/paper-plugins', enabled: '{{ setting.minecraft.enabled and "''paper''" in servers }}' }
|
||||
- { file: '../../build/proxy-plugins', enabled: '{{ setting.minecraft.enabled and "''proxy''" in servers }}' }
|
||||
- { file: '../../build/pvp-plugins', enabled: '{{ setting.minecraft.enabled and "''pvp''" in servers }}' }
|
||||
|
||||
- name: Deploy Stacks | Copy Files
|
||||
shell: 'cp -r /home/{{ansible_user}}/stacks/{{item.file}} /opt/stacks/{{item.file}}'
|
||||
@@ -80,12 +80,12 @@
|
||||
- "'swarm_manager' in group_names"
|
||||
- item.enabled
|
||||
loop:
|
||||
- { file: 'minecraft/paper-config', enabled: setting.minecraft.enabled }
|
||||
- { file: 'minecraft/proxy-config', enabled: setting.minecraft.enabled }
|
||||
- { file: 'minecraft/pvp-config', enabled: setting.minecraft.enabled }
|
||||
- { file: 'minecraft/paper-plugins', enabled: setting.minecraft.enabled }
|
||||
- { file: 'minecraft/proxy-plugins', enabled: setting.minecraft.enabled }
|
||||
- { file: 'minecraft/pvp-plugins', enabled: setting.minecraft.enabled }
|
||||
- { file: 'minecraft/paper-config', enabled: '{{ setting.minecraft.enabled and "''paper''" in servers }}' }
|
||||
- { file: 'minecraft/proxy-config', enabled: '{{ setting.minecraft.enabled and "''proxy''" in servers }}' }
|
||||
- { file: 'minecraft/pvp-config', enabled: '{{ setting.minecraft.enabled and "''pvp''" in servers }}' }
|
||||
- { file: 'minecraft/paper-plugins', enabled: '{{ setting.minecraft.enabled and "''paper''" in servers }}' }
|
||||
- { file: 'minecraft/proxy-plugins', enabled: '{{ setting.minecraft.enabled and "''proxy''" in servers }}' }
|
||||
- { file: 'minecraft/pvp-plugins', enabled: '{{ setting.minecraft.enabled and "''pvp''" in servers }}' }
|
||||
|
||||
- name: Deploy Stacks | Deploy Stacks
|
||||
when:
|
||||
|
||||
@@ -2,17 +2,20 @@
|
||||
- name: Stop Server | Stop Waterfall
|
||||
when:
|
||||
- "'swarm_manager' in group_names"
|
||||
- - "'proxy' in servers"
|
||||
- setting.minecraft.enabled
|
||||
command: docker service scale minecraft_waterfall=0
|
||||
|
||||
- name: Stop Server | Stop Paper
|
||||
when:
|
||||
- "'swarm_manager' in group_names"
|
||||
- "'paper' in servers"
|
||||
- setting.minecraft.enabled
|
||||
command: docker service scale minecraft_paper=0
|
||||
|
||||
- name: Stop Server | Stop PvP
|
||||
when:
|
||||
- "'swarm_manager' in group_names"
|
||||
- "'pvp' in servers"
|
||||
- setting.minecraft.enabled
|
||||
command: docker service scale minecraft_pvp=0
|
||||
|
||||
Reference in New Issue
Block a user