check new version
This commit is contained in:
@@ -1,10 +0,0 @@
|
||||
---
|
||||
- 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 }}"
|
@@ -1,21 +0,0 @@
|
||||
---
|
||||
- name: Update apt cache
|
||||
ansible.builtin.apt:
|
||||
update_cache: true
|
||||
when: ansible_os_family == "Debian"
|
||||
|
||||
- name: Install OpenJDK
|
||||
ansible.builtin.apt:
|
||||
name: "{{ java_package }}"
|
||||
state: present
|
||||
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'
|
21
roles/02-installation-java/tasks/02-remove-old-java.yml
Normal file
21
roles/02-installation-java/tasks/02-remove-old-java.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
- name: Remove old Java versions
|
||||
ansible.builtin.apt:
|
||||
name: "{{ item }}"
|
||||
state: absent
|
||||
purge: yes
|
||||
loop:
|
||||
- openjdk-8-jdk
|
||||
- openjdk-8-jre
|
||||
- openjdk-11-jdk
|
||||
- openjdk-11-jre
|
||||
- openjdk-17-jdk
|
||||
- openjdk-17-jre
|
||||
when: ansible_os_family == "Debian"
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Clean apt cache after removal
|
||||
ansible.builtin.apt:
|
||||
autoclean: yes
|
||||
autoremove: yes
|
||||
when: ansible_os_family == "Debian"
|
24
roles/02-installation-java/tasks/03-install-java.yml
Normal file
24
roles/02-installation-java/tasks/03-install-java.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
- name: Add Java repository for Ubuntu
|
||||
ansible.builtin.apt_repository:
|
||||
repo: "{{ java_apt_repository.ubuntu }}"
|
||||
state: present
|
||||
when: ansible_distribution == "Ubuntu"
|
||||
|
||||
- name: Add backports repository for Debian
|
||||
ansible.builtin.apt_repository:
|
||||
repo: "{{ java_apt_repository.debian }}"
|
||||
state: present
|
||||
when: ansible_distribution == "Debian"
|
||||
|
||||
- name: Update apt cache
|
||||
ansible.builtin.apt:
|
||||
update_cache: yes
|
||||
cache_valid_time: 3600
|
||||
when: ansible_os_family == "Debian"
|
||||
|
||||
- name: Install Java packages
|
||||
ansible.builtin.apt:
|
||||
name: "{{ java_packages[ansible_distribution | lower] }}"
|
||||
state: present
|
||||
when: ansible_os_family == "Debian"
|
@@ -1,10 +0,0 @@
|
||||
---
|
||||
- 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 }}"
|
27
roles/02-installation-java/tasks/04-configure-java.yml
Normal file
27
roles/02-installation-java/tasks/04-configure-java.yml
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
- name: Set JAVA_HOME environment variable
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/environment
|
||||
line: "JAVA_HOME={{ java_home }}"
|
||||
create: yes
|
||||
state: present
|
||||
|
||||
- name: Add Java to PATH
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/environment
|
||||
line: 'PATH="{{ java_bin_path }}:$PATH"'
|
||||
state: present
|
||||
|
||||
- name: Create Java profile script
|
||||
ansible.builtin.template:
|
||||
src: java.sh.j2
|
||||
dest: /etc/profile.d/java.sh
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0644'
|
||||
|
||||
- name: Set default Java version
|
||||
ansible.builtin.alternatives:
|
||||
name: java
|
||||
path: "{{ java_home }}/bin/java"
|
||||
notify: update java configuration
|
@@ -1,15 +0,0 @@
|
||||
---
|
||||
- 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 }}"
|
@@ -0,0 +1,21 @@
|
||||
---
|
||||
- name: Verify Java installation
|
||||
ansible.builtin.command: "{{ java_home }}/bin/java -version"
|
||||
register: java_version_output
|
||||
changed_when: false
|
||||
|
||||
- name: Display Java version
|
||||
ansible.builtin.debug:
|
||||
msg: "Java version installed: {{ java_version_output.stderr_lines[0] }}"
|
||||
|
||||
- name: Verify Java compiler
|
||||
ansible.builtin.command: "{{ java_home }}/bin/javac -version"
|
||||
register: javac_version_output
|
||||
changed_when: false
|
||||
|
||||
- name: Validate Java version matches requirement
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- "'{{ java_version }}' in java_version_output.stderr"
|
||||
fail_msg: "Java version {{ java_version }} not properly installed"
|
||||
success_msg: "Java version {{ java_version }} successfully installed"
|
6
roles/02-installation-java/tasks/1-check-java.yml
Normal file
6
roles/02-installation-java/tasks/1-check-java.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
- name: Check if Java is installed
|
||||
ansible.builtin.command: java -version
|
||||
register: java_installed
|
||||
failed_when: false
|
||||
changed_when: false
|
@@ -1,13 +1,17 @@
|
||||
---
|
||||
- name: Include Java presence check tasks
|
||||
ansible.builtin.include_tasks: 01-check-java-presence.yml
|
||||
- name: Include check Java tasks
|
||||
ansible.builtin.include_tasks: 01-check-java.yml
|
||||
|
||||
- name: Include Java installation tasks
|
||||
ansible.builtin.include_tasks: 02-install-java.yml
|
||||
when: java_needs_installation | default(true)
|
||||
- name: Include remove old Java tasks
|
||||
ansible.builtin.include_tasks: 02-remove-old-java.yml
|
||||
when: java_needs_update | default(false)
|
||||
|
||||
- name: Include Java installation verification tasks
|
||||
ansible.builtin.include_tasks: 03-verify-java-installation.yml
|
||||
- name: Include install Java tasks
|
||||
ansible.builtin.include_tasks: 03-install-java.yml
|
||||
when: java_not_installed | default(false) or java_needs_update | default(false)
|
||||
|
||||
- name: Include Java version validation tasks
|
||||
ansible.builtin.include_tasks: 04-validate-java-version.yml
|
||||
- name: Include configure Java tasks
|
||||
ansible.builtin.include_tasks: 04-configure-java.yml
|
||||
|
||||
- name: Include validate installation tasks
|
||||
ansible.builtin.include_tasks: 05-validate-installation.yml
|
Reference in New Issue
Block a user