test other version
Some checks failed
Ansible Minecraft CI/CD Pipeline / Ansible Lint Check (push) Successful in 58s
Ansible Minecraft CI/CD Pipeline / Project Structure Validation (push) Failing after 3s
Ansible Minecraft CI/CD Pipeline / Security Scan (push) Successful in 4s
Ansible Minecraft CI/CD Pipeline / Deploy to Staging (push) Has been skipped
Ansible Minecraft CI/CD Pipeline / Deploy to Production (push) Has been skipped
Ansible Minecraft CI/CD Pipeline / Backup System Check (push) Has been skipped

This commit is contained in:
2025-08-26 21:59:21 +02:00
parent b2459a2dc0
commit 7a2ccb537b
98 changed files with 2830 additions and 1291 deletions

View File

@@ -1,4 +1,8 @@
---
java_version: 21
# Java configuration
java_version: "17"
java_package: "openjdk-{{ java_version }}-jdk"
java_home: "/usr/lib/jvm/java-{{ java_version }}-openjdk-amd64"
java_home: "/usr/lib/jvm/java-{{ java_version }}-openjdk-amd64"
# Minimum required Java version for Spigot 1.21.6
required_java_version: "17"

View File

@@ -0,0 +1,6 @@
---
- name: update java alternatives
ansible.builtin.shell: |
update-alternatives --install /usr/bin/java java {{ java_home }}/bin/java 1
update-alternatives --install /usr/bin/javac javac {{ java_home }}/bin/javac 1
listen: "configure java alternatives"

View File

@@ -0,0 +1,10 @@
---
- name: Check if Java is already installed
ansible.builtin.shell: java -version 2>&1 | head -n 1
register: java_check_result
failed_when: false
changed_when: false
- name: Set Java installation requirement
ansible.builtin.set_fact:
java_needs_installation: "{{ java_check_result.rc != 0 or 'openjdk' not in java_check_result.stdout }}"

View File

@@ -1,7 +0,0 @@
---
- name: Check if Java is already installed
command: java -version
register: java_check
failed_when: false
changed_when: false
tags: ['java-check']

View File

@@ -1,6 +1,21 @@
---
- name: Update apt cache
ansible.builtin.apt:
update_cache: true
when: ansible_os_family == "Debian"
- name: Install OpenJDK
package:
ansible.builtin.apt:
name: "{{ java_package }}"
state: present
tags: ['java-install']
notify: "configure java alternatives"
- name: Set JAVA_HOME environment variable
ansible.builtin.lineinfile:
path: /etc/environment
regexp: '^JAVA_HOME='
line: 'JAVA_HOME={{ java_home }}'
create: true
owner: root
group: root
mode: '0644'

View File

@@ -0,0 +1,10 @@
---
- name: Verify Java installation
ansible.builtin.shell: java -version 2>&1 | head -n 1
register: java_verification_result
failed_when: java_verification_result.rc != 0
changed_when: false
- name: Display Java version
ansible.builtin.debug:
msg: "Java installation verified: {{ java_verification_result.stdout }}"

View File

@@ -1,6 +0,0 @@
---
- name: Verify Java installation
command: java -version
register: java_verify
changed_when: false
tags: ['java-verify']

View File

@@ -1,7 +0,0 @@
---
- name: Set Java home environment variable
lineinfile:
path: /etc/environment
line: "JAVA_HOME={{ java_home }}"
state: present
tags: ['java-validate']

View File

@@ -0,0 +1,15 @@
---
- name: Extract Java version number
ansible.builtin.shell: |
java -version 2>&1 | grep -oP 'version "\K[^"]*' | cut -d'.' -f1
register: installed_java_version
changed_when: false
- name: Validate Java version compatibility
ansible.builtin.fail:
msg: "Java version {{ installed_java_version.stdout }} is not compatible with Minecraft Spigot. Minimum required: {{ required_java_version }}"
when: installed_java_version.stdout | int < required_java_version | int
- name: Confirm Java compatibility
ansible.builtin.debug:
msg: "Java version {{ installed_java_version.stdout }} is compatible with Minecraft Spigot {{ minecraft_version }}"

View File

@@ -1,17 +1,13 @@
---
- name: Include Java check tasks
include_tasks: 01-check-java.yml
tags: ['java', 'check']
- name: Include Java presence check tasks
ansible.builtin.include_tasks: 01-check-java-presence.yml
- name: Include Java installation tasks
include_tasks: 02-install-java.yml
when: java_installed is not defined or not java_installed
tags: ['java', 'install']
ansible.builtin.include_tasks: 02-install-java.yml
when: java_needs_installation | default(true)
- name: Include Java verification tasks
include_tasks: 03-verify-java.yml
tags: ['java', 'verify']
- name: Include Java installation verification tasks
ansible.builtin.include_tasks: 03-verify-java-installation.yml
- name: Include Java validation tasks
include_tasks: 04-validate-installation.yml
tags: ['java', 'validate']
- name: Include Java version validation tasks
ansible.builtin.include_tasks: 04-validate-java-version.yml

View File

@@ -0,0 +1,14 @@
---
# Java installation variables
supported_java_versions:
- "17"
- "18"
- "19"
- "20"
- "21"
java_compatibility_matrix:
"1.21.6": "17"
"1.21.5": "17"
"1.21.4": "17"
"1.21.3": "17"