src.dualinventive.com/devops/ansible-dtap/external-roles/java/tasks/install_oraclejdk.yml

62 lines
1.8 KiB
YAML

---
- name: Java | Set JAVA_HOME fact
set_fact:
java_home: "{{ java_oracle_jdk_install_path }}"
- name: Java | Check Java version
command: java -version
register: java_check_version
changed_when: false
ignore_errors: true
- name: Java | Download .tar.gz file containing binaries from Oracle website
get_url:
url: "{{ java_oracle_jdk_latest_versions_urls[java_oracle_jdk_version].url }}"
dest: "/tmp/jdk-{{ java_oracle_jdk_version }}.tar.gz"
# That implies that you accept the Oracle Binary Code License Agreement for Java SE (http://www.oracle.com/technetwork/java/javase/terms/license/index.html)
headers: "Cookie:oraclelicense=accept-securebackup-cookie"
sha256sum: "{{ java_oracle_jdk_latest_versions_urls[java_oracle_jdk_version].sha256 }}"
when: java_check_version|failed or java_oracle_jdk_version not in java_check_version.stderr
register: download_java_binaries
- name: Java | Ensure installation dir exists
file:
state: directory
path: "{{ java_oracle_jdk_install_path }}"
- name: Java | Extract java in the installation directory
unarchive:
copy: no
src: "/tmp/jdk-{{ java_oracle_jdk_version }}.tar.gz"
dest: "{{ java_oracle_jdk_install_path }}"
extra_opts: [--strip-components=1]
when: download_java_binaries|changed
tags:
skip_ansible_lint
- name: Java | Export environment variables
template:
src: jdk.sh.j2
dest: /etc/profile.d/jdk.sh
- name: Java | Source environment variables
shell: source /etc/profile
args:
executable: /bin/bash
changed_when: false
tags:
skip_ansible_lint
- name: Java | Update alternatives
alternatives:
name: "{{ item }}"
link: /usr/bin/{{ item }}
path: "{{ java_oracle_jdk_install_path }}/bin/{{ item }}"
with_items:
- "java"
- "javac"
- "jar"
tags:
skip_ansible_lint