new version
Some checks failed
Ansible Minecraft CI/CD / Ansible Lint (push) Successful in 8s
Ansible Minecraft CI/CD / Syntax Check (push) Failing after 7s
Ansible Minecraft CI/CD / Deploy to Staging (push) Has been skipped
Ansible Minecraft CI/CD / Deploy to Production (push) Has been skipped

This commit is contained in:
2025-08-27 15:11:08 +02:00
parent 3e64946953
commit 8f0877cd53
105 changed files with 911 additions and 2540 deletions

View File

@@ -1,5 +1,8 @@
---
java_version: 21
java_vendor: openjdk
java_home: /usr/lib/jvm/java-{{ java_version }}-openjdk-amd64
java_bin_path: "{{ java_home }}/bin"
# Configuration par défaut Java
java_version: "17"
java_packages:
- openjdk-17-jdk
- openjdk-17-jre
java_home_path: "/usr/lib/jvm/java-17-openjdk-amd64"

View File

@@ -1,8 +1,4 @@
---
- name: update java alternatives
ansible.builtin.command: update-alternatives --config java
listen: update java configuration
- name: reload environment
ansible.builtin.command: source /etc/environment
listen: reload system environment
ansible.builtin.command: update-java-alternatives --set java-1.{{ java_version }}.0-openjdk-amd64
failed_when: false

View File

@@ -0,0 +1,6 @@
---
- name: Vérification de la présence de Java
ansible.builtin.command: "{{ java_version_check_command }}"
register: java_check
failed_when: false
changed_when: false

View File

@@ -0,0 +1 @@
02-install-java.yml

View File

@@ -1,21 +0,0 @@
---
- 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"

View File

@@ -1,24 +0,0 @@
---
- 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"

View File

@@ -0,0 +1,6 @@
---
- name: Validation de l'installation Java
ansible.builtin.command: java -version
register: java_validation
changed_when: false
failed_when: "'openjdk version' not in java_validation.stderr"

View File

@@ -1,27 +0,0 @@
---
- 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

View File

@@ -1,21 +0,0 @@
---
- 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"

View File

@@ -1,6 +0,0 @@
---
- name: Check if Java is installed
ansible.builtin.command: java -version
register: java_installed
failed_when: false
changed_when: false

View File

@@ -1,17 +1,11 @@
---
- name: Include check Java tasks
ansible.builtin.include_tasks: 01-check-java.yml
# Tâches principales installation Java
- import_tasks: 01-check-java.yml
tags: [java, check]
- name: Include remove old Java tasks
ansible.builtin.include_tasks: 02-remove-old-java.yml
when: java_needs_update | default(false)
- import_tasks: 02-install-java.yml
tags: [java, install]
when: java_installed is not defined or not java_installed
- 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 configure Java tasks
ansible.builtin.include_tasks: 04-configure-java.yml
- name: Include validate installation tasks
ansible.builtin.include_tasks: 05-validate-installation.yml
- import_tasks: 03-validate-java.yml
tags: [java, validate]

View File

@@ -1,5 +0,0 @@
#!/bin/bash
# {{ ansible_managed }}
export JAVA_HOME={{ java_home }}
export PATH=$JAVA_HOME

View File

@@ -1,12 +1,4 @@
---
java_packages:
debian:
- "openjdk-{{ java_version }}-jdk"
- "openjdk-{{ java_version }}-jre"
ubuntu:
- "openjdk-{{ java_version }}-jdk"
- "openjdk-{{ java_version }}-jre"
java_apt_repository:
debian: "deb http://deb.debian.org/debian {{ ansible_distribution_release }}-backports main"
ubuntu: "ppa:openjdk-r/ppa"
# Variables Java
java_version_check_command: "java -version"
java_required_version: "17"