forked from evolix/ansible-roles
java: support for Oracle JRE
This commit is contained in:
parent
03431fc116
commit
fbd97a5f08
|
@ -15,6 +15,7 @@ The **patch** part changes incrementally at each release.
|
||||||
* elasticsearch: add http.publish_host variable
|
* elasticsearch: add http.publish_host variable
|
||||||
* kibana: log messages go to /var/log/kibana/kibana.log
|
* kibana: log messages go to /var/log/kibana/kibana.log
|
||||||
* mysql: add an option to install the client development libraries (default: `False`)
|
* mysql: add an option to install the client development libraries (default: `False`)
|
||||||
|
* java: support for Oracle JRE
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
* evolinux-users: add sudo permission for bkctld check
|
* evolinux-users: add sudo permission for bkctld check
|
||||||
|
@ -23,6 +24,7 @@ The **patch** part changes incrementally at each release.
|
||||||
* rbenv: change default Ruby version (2.5.1)
|
* rbenv: change default Ruby version (2.5.1)
|
||||||
* rbenv: switch from copy to lineinfile for default gems
|
* rbenv: switch from copy to lineinfile for default gems
|
||||||
* squid: add a few news sites to the whitelist
|
* squid: add a few news sites to the whitelist
|
||||||
|
* java8: renamed to java (java8 symlinked to java for backward compatibility)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
|
|
@ -25,4 +25,4 @@ galaxy_info:
|
||||||
# alphanumeric characters. Maximum 20 tags per role.
|
# alphanumeric characters. Maximum 20 tags per role.
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
- java8
|
- { role: java, alternative: 'openjdk', java_version: 8 }
|
||||||
|
|
14
java/README.md
Normal file
14
java/README.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# java
|
||||||
|
|
||||||
|
Install OpenJDK or OracleJDK
|
||||||
|
|
||||||
|
## Tasks
|
||||||
|
|
||||||
|
* `openjdk.yml` : install of OpenJDK
|
||||||
|
* `oracle.yml` : install or OracleJDK
|
||||||
|
|
||||||
|
## Available variables
|
||||||
|
|
||||||
|
* `java_alternative`: choose between openjdk or oraclejdk (default to openjdk)
|
||||||
|
* `java_version`: java version (default to 8)
|
||||||
|
* `java_default_alternative`: make this verison the default alternative (default to true)
|
4
java/defaults/main.yml
Normal file
4
java/defaults/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
java_alternative: 'openjdk'
|
||||||
|
java_version: 8
|
||||||
|
java_default_alternative: True
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
galaxy_info:
|
galaxy_info:
|
||||||
author: Evolix
|
author: Evolix
|
||||||
description: Installation of Java 8
|
description: Installation of Java
|
||||||
|
|
||||||
issue_tracker_url: https://forge.evolix.org/projects/ansible-roles/issues
|
issue_tracker_url: https://forge.evolix.org/projects/ansible-roles/issues
|
||||||
|
|
||||||
|
@ -13,3 +13,4 @@ galaxy_info:
|
||||||
- name: Debian
|
- name: Debian
|
||||||
versions:
|
versions:
|
||||||
- jessie
|
- jessie
|
||||||
|
- stretch
|
10
java/tasks/main.yml
Normal file
10
java/tasks/main.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- fail:
|
||||||
|
msg: "This role support only java 8 for now !"
|
||||||
|
when: java_version != 8
|
||||||
|
|
||||||
|
- include: openjdk.yml
|
||||||
|
when: "{{ java_alternative == 'openjdk' }}"
|
||||||
|
|
||||||
|
- include: oracle.yml
|
||||||
|
when: "{{ java_alternative == 'oracle' }}"
|
31
java/tasks/openjdk.yml
Normal file
31
java/tasks/openjdk.yml
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
---
|
||||||
|
- name: Decide which Debian release to use
|
||||||
|
set_fact:
|
||||||
|
java_apt_release: '{% if ansible_distribution_release == "jessie" %}jessie-backports{% else %}{{ ansible_distribution_release }}{% endif %}'
|
||||||
|
tags:
|
||||||
|
- java
|
||||||
|
|
||||||
|
- name: Install jessie-backports
|
||||||
|
include_role:
|
||||||
|
name: apt
|
||||||
|
tasks_from: backports.yml
|
||||||
|
when: ansible_distribution_release == "jessie"
|
||||||
|
tags:
|
||||||
|
- java
|
||||||
|
|
||||||
|
- name: Install openjdk package
|
||||||
|
apt:
|
||||||
|
name: "openjdk-{{ java_version}}-jre-headless"
|
||||||
|
default_release: "{{ java_apt_release }}"
|
||||||
|
state: present
|
||||||
|
tags:
|
||||||
|
- java
|
||||||
|
- packages
|
||||||
|
|
||||||
|
- name: This openjdk version is the default alternative
|
||||||
|
alternatives:
|
||||||
|
name: java
|
||||||
|
path: "/usr/lib/jvm/java-{{ java_version }}-openjdk-amd64/jre/bin/java"
|
||||||
|
when: java_default_alternative
|
||||||
|
tags:
|
||||||
|
- java
|
58
java/tasks/oracle.yml
Normal file
58
java/tasks/oracle.yml
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
---
|
||||||
|
- name: Install dependencies for build java package
|
||||||
|
apt:
|
||||||
|
name: "{{ item }}"
|
||||||
|
state: present
|
||||||
|
with_items:
|
||||||
|
- java-package
|
||||||
|
- build-essential
|
||||||
|
tags:
|
||||||
|
- java
|
||||||
|
|
||||||
|
- name: Create jvm dir
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
mode: "0777"
|
||||||
|
with_items:
|
||||||
|
- /srv/java-package
|
||||||
|
- /srv/java-package/src
|
||||||
|
- /srv/java-package/tmp
|
||||||
|
tags:
|
||||||
|
- java
|
||||||
|
|
||||||
|
- name: Get Oracle jre archive
|
||||||
|
get_url:
|
||||||
|
url: 'http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jre-8u172-linux-x64.tar.gz'
|
||||||
|
dest: '/srv/java-package/src/'
|
||||||
|
checksum: 'sha256:f08f25aec2bdc86138ccba8fd5b904451e3afa1d24a88c85f28c2d84bfd45bad'
|
||||||
|
headers: 'Cookie: oraclelicense=accept-securebackup-cookie'
|
||||||
|
mode: "0644"
|
||||||
|
tags:
|
||||||
|
- java
|
||||||
|
|
||||||
|
- name: Make Debian package from Oracle JDK archive
|
||||||
|
shell: "yes | TMPDIR=/srv/java-package/tmp make-jpkg /srv/java-package/src/jre-8u172-linux-x64.tar.gz"
|
||||||
|
args:
|
||||||
|
chdir: /srv/java-package
|
||||||
|
creates: /srv/java-package/oracle-java8-jre_8u172_amd64.deb
|
||||||
|
become: False
|
||||||
|
tags:
|
||||||
|
- java
|
||||||
|
|
||||||
|
- include_role:
|
||||||
|
name: remount-usr
|
||||||
|
|
||||||
|
- name: Install java package
|
||||||
|
apt:
|
||||||
|
deb: /srv/java-package/oracle-java8-jre_8u172_amd64.deb
|
||||||
|
tags:
|
||||||
|
- java
|
||||||
|
|
||||||
|
- name: This openjdk version is the default alternative
|
||||||
|
alternatives:
|
||||||
|
name: java
|
||||||
|
path: "/usr/lib/jvm/jre-{{ java_version }}-oracle-x64/bin/java"
|
||||||
|
when: java_default_alternative
|
||||||
|
tags:
|
||||||
|
- java
|
|
@ -1,4 +1,4 @@
|
||||||
---
|
---
|
||||||
- hosts: test-kitchen
|
- hosts: test-kitchen
|
||||||
roles:
|
roles:
|
||||||
- role: java8
|
- role: java
|
|
@ -1,11 +0,0 @@
|
||||||
# java8
|
|
||||||
|
|
||||||
Install OpenJDK 1.8 (from jessie-backports)
|
|
||||||
|
|
||||||
## Tasks
|
|
||||||
|
|
||||||
Everything is in the `tasks/main.yml` file.
|
|
||||||
|
|
||||||
## Available variables
|
|
||||||
|
|
||||||
* `java8_default_alternative`: make this verison the default alternative (defaults to true)
|
|
|
@ -1,2 +0,0 @@
|
||||||
---
|
|
||||||
java8_default_alternative: True
|
|
|
@ -1,27 +0,0 @@
|
||||||
---
|
|
||||||
- name: Decide which Debian release to use
|
|
||||||
set_fact:
|
|
||||||
java8_apt_release: '{% if ansible_distribution_release == "jessie" %}jessie-backports{% else %}{{ ansible_distribution_release }}{% endif %}'
|
|
||||||
|
|
||||||
- name: install jessie-backports
|
|
||||||
include_role:
|
|
||||||
name: apt
|
|
||||||
tasks_from: backports.yml
|
|
||||||
when: ansible_distribution_release == "jessie"
|
|
||||||
|
|
||||||
- name: Java 8 is installed
|
|
||||||
apt:
|
|
||||||
name: openjdk-8-jre-headless
|
|
||||||
default_release: "{{ java8_apt_release }}"
|
|
||||||
state: present
|
|
||||||
tags:
|
|
||||||
- java
|
|
||||||
- packages
|
|
||||||
|
|
||||||
- name: Java 8 is the default alternative
|
|
||||||
alternatives:
|
|
||||||
name: java
|
|
||||||
path: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
|
|
||||||
when: java8_default_alternative
|
|
||||||
tags:
|
|
||||||
- java
|
|
|
@ -24,4 +24,4 @@ galaxy_info:
|
||||||
# alphanumeric characters. Maximum 20 tags per role.
|
# alphanumeric characters. Maximum 20 tags per role.
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
- java8
|
- { role: java, java_alternative: 'openjdk', java_version: 8 }
|
||||||
|
|
|
@ -14,4 +14,4 @@ galaxy_info:
|
||||||
- jessie
|
- jessie
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
- java8
|
- { role: java, java_alternative: 'openjdk', java_version: 8 }
|
||||||
|
|
Loading…
Reference in a new issue