bachelor-thesis/infrastructure/ansible/roles/mft/tasks/mft-ubuntu-24.yml

102 lines
3.3 KiB
YAML

---
- name: Install package dependencies for MFT on Ubuntu Java 8
apt:
name: openjdk-8-jdk
state: present
update_cache: yes
become: true
when: '"java8" in current_host_config.contains_setup'
- name: Install package dependencies for MFT on Ubuntu Java 11
apt:
name: openjdk-11-jdk
state: present
update_cache: yes
become: true
when: '"java11" in current_host_config.contains_setup'
- name: Install package dependencies for MFT on Ubuntu Java 21
apt:
name: openjdk-21-jre-headless
state: present
update_cache: yes
become: true
when: '"java21" in current_host_config.contains_setup'
#- name: Get package dependencies for MFT on CentOS Java21
# shell: "curl -O https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_linux-x64_bin.tar.gz && sudo tar xvf openjdk-21.0.1_linux-x64_bin.tar.gz && sudo mv jdk-21.0.1 /opt/"
# args:
# chdir: /home/vagrant
#become: true
#when: '"java21" in current_host_config.contains_setup'
#- name: Get package dependencies for MFT on CentOS Java21
#shell: "sudo update-alternatives --install /usr/bin/java java /opt/jdk-21.0.1/bin/java 99"
#args:
# chdir: /opt/
#become: true
#when: '"java21" in current_host_config.contains_setup'
- name: List MFT packages
local_action: find paths="{{ configs.deployment_dir }}" patterns="tixstream-mft-{{ ansible_distribution|lower }}-24*.tgz" file_type=file
become: false
register: found_packages
- name: Get latest package
set_fact:
package_to_install: "{{ found_packages.files | sort(attribute='mtime',reverse=true) | first }}"
when: package_name is undefined or package_name == ""
- name: Set package name
set_fact:
package_to_install: "{{ configs.deployment_dir }}/{{ package_name }}"
when: package_name is defined and package_name != ""
- name: Get MFT version
set_fact:
mft_version: "{{ package_to_install.path | basename | regex_search('[0-9]+\\.[0-9]+\\.[0-9]+(?:\\.[0-9]+)?') }}"
- name: Check if Codemeter is installed
shell: "cmu -v"
args:
executable: /bin/bash
register: codemeter_installed
ignore_errors: true
when: mft_version is version('2.1.0', '>=')
- name: Codemeter packages local
local_action: find paths="{{ configs.deployment_dir }}" patterns="codemeter*.deb" file_type=file
become: false
register: codemeter_packages
when: mft_version is version('2.1.0', '>=')
- name: Set deb package
set_fact:
codemeter_deb_path: "{{ codemeter_packages.files | sort(attribute='mtime',reverse=true) | first }}"
when: mft_version is version('2.1.0', '>=')
- name: Copy Codemeter deb to VM
copy:
src: "{{ codemeter_deb_path.path }}"
dest: "{{ remote_deployment_dir }}"
when: mft_version is version('2.1.0', '>=')
- name: Codemeter packages remote
find:
paths: "{{ remote_deployment_dir }}"
patterns: "codemeter*.deb"
file_type: file
register: remote_codemeter_path
when: mft_version is version('2.1.0', '>=')
- name: Set deb package remote
set_fact:
codemeter_remote_deb: "{{ remote_codemeter_path.files | sort(attribute='mtime',reverse=true) | first }}"
when: mft_version is version('2.1.0', '>=')
- name: Install Codemeter
apt:
deb: "{{ codemeter_remote_deb.path }}"
state: present
when: codemeter_installed.rc is defined and codemeter_installed.rc != 0 and mft_version is version('2.1.0', '>=')