49 lines
1.3 KiB
YAML
49 lines
1.3 KiB
YAML
---
|
|
- name: Create version switch script
|
|
ansible.builtin.template:
|
|
src: version-switch.sh.j2
|
|
dest: "{{ minecraft_base_dir }}/switch_version.sh"
|
|
owner: "{{ minecraft_user }}"
|
|
group: "{{ minecraft_group }}"
|
|
mode: '0755'
|
|
|
|
- name: Stop Minecraft server
|
|
ansible.builtin.systemd:
|
|
name: minecraft
|
|
state: stopped
|
|
|
|
- name: Backup current version
|
|
ansible.builtin.command:
|
|
cmd: |
|
|
tar -czf {{ spigot_previous_dir }}/backup_$(date +%Y%m%d_%H%M%S).tar.gz \
|
|
-C {{ minecraft_server_dir }} .
|
|
become_user: "{{ minecraft_user }}"
|
|
|
|
- name: Switch to new version
|
|
ansible.builtin.command:
|
|
cmd: "{{ minecraft_base_dir }}/switch_version.sh"
|
|
become_user: "{{ minecraft_user }}"
|
|
register: switch_result
|
|
|
|
- name: Update version file
|
|
ansible.builtin.copy:
|
|
content: "{{ minecraft_version }}"
|
|
dest: "{{ current_version_file }}"
|
|
owner: "{{ minecraft_user }}"
|
|
group: "{{ minecraft_group }}"
|
|
mode: '0644'
|
|
|
|
- name: Start Minecraft server with new version
|
|
ansible.builtin.systemd:
|
|
name: minecraft
|
|
state: started
|
|
|
|
- name: Verify server is running
|
|
ansible.builtin.wait_for:
|
|
port: "{{ server_port }}"
|
|
timeout: 60
|
|
state: started
|
|
|
|
- name: Display update result
|
|
ansible.builtin.debug:
|
|
msg: "Successfully updated to Spigot {{ minecraft_version }}" |