Created
March 15, 2019 14:04
-
-
Save AlexGluck/e2d24d4a9486b3ece8c89d4b4232f7e9 to your computer and use it in GitHub Desktop.
Test playbook for install oracle java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
- name: Install OracleJava | |
hosts: "localhost" | |
vars: | |
arch: '' | |
orajdk: | |
type: 'jdk' | |
version: 8 | |
upd: '' | |
dlfolder: /tmp | |
platform: "{{ arch }}" | |
state: "present" | |
#tar_gz: 'tar.gz' | |
os_type: 'linux' | |
### Oracle site, var for concatenate url http://www.oracle.com | |
oracle_site: "http://www.oracle.com" | |
### Url for get list current versions and link to archive | |
oracle_download_link: "http://www.oracle.com/technetwork/java/javase/downloads/index.html" | |
### Regexp for get url to download page for current versions | |
java_latest_release: "/technetwork/java/javase/downloads/{{ orajdk.type|default('jdk') }}{{ orajdk.version }}-downloads-.*\.html" | |
### Regexp for get url to page with list archive versions | |
java_archives: "/technetwork/java/javase/archive-.*\.html" | |
### Regexp for get url to download page with list archive version | |
java_archive_versions: "/technetwork/java/javase/downloads/java-archive-(downloads-)?javase{{ java_version}}.*\.html" | |
### Regexp for get download url | |
search_package: "http://download.oracle.com/otn-pub/java/.*{{ orajdk.type|default('jdk') }}.*u{{ orajdk.upd }}.*{{ os_type|default('linux') }}.*{{ orajdk.arch | default('(x|amd)64') }}.*{{ tar_gz | default('\.rpm') }}(\.bin)?" | |
tasks: | |
- name: Get list current versions and link to archive | |
get_url: | |
url: "{{ oracle_download_link }}" | |
headers: 'Cookie:oraclelicense=accept-securebackup-cookie' | |
register: oracle_download_link_data | |
- name: Search url for latest release | |
set_fact: | |
java_latest_download_link: "{{ oracle_download_link_data.content|regex_search(java_latest_release) }}" | |
when: (orajdk.version|int) >= 8 | |
- name: Search url for archives | |
set_fact: | |
java_archives_link: "{{ oracle_download_link_data.content|regex_search(java_archives) }}" | |
when: java_latest_download_link == '' | |
- name: Get list archive versions | |
get_url: | |
url: "{{ oracle_site }}{{ java_archives_link }}" | |
headers: 'Cookie:oraclelicense=accept-securebackup-cookie' | |
register: java_archives_link_data | |
when: java_latest_download_link == '' | |
- name: Search url for archive releases for our version | |
set_fact: | |
java_archive_version_link: "{{ java_archives_link_data.content|regex_search(java_archive_versions) }}" | |
when: java_latest_download_link == '' | |
- name: Get list archive versions | |
get_url: | |
url: "{{ oracle_site }}{{ java_archives_link }}" | |
headers: 'Cookie:oraclelicense=accept-securebackup-cookie' | |
register: java_archives_link_data | |
when: java_latest_download_link == '' | |
- name: Get finish page | |
get_url: | |
url: "{{ oracle_site }}{% if java_latest_download_link != '' %}{{ java_archive_download_link }}{% else %}{{ java_latest_download_link }}{% endif %}" | |
headers: 'Cookie:oraclelicense=accept-securebackup-cookie' | |
register: java_download_link_data | |
- name: Search package | |
set_fact: | |
package_name: "{{ java_download_link_data.content|regex_search(search_package) }}" | |
when: java_latest_download_link == '' | |
- name: Download java | |
get_url: | |
url: "{{ package_name }}" | |
dest: "{{ orajdk.dlfolder }}/{{ orajdk.type|default('jdk') }}-{{ orajdk.version }}u{{ orajdk.upd }}-{{os_type|default('linux')}}-{{ arch | default('(x|amd)64') }}{{ tar_gz | default('.rpm') }}" | |
headers: 'Cookie:oraclelicense=accept-securebackup-cookie' | |
- name: Manage java package | |
package: | |
name: "{{ orajdk.dlfolder }}/{{ orajdk.type|default('jdk') }}-{{ orajdk.version }}u{{ orajdk.upd }}-{{os_type|default('linux')}}-{{ arch | default('(x|amd)64') }}{{ tar_gz | default('.rpm') }}" | |
state: "{{ state }}" | |
- name: Creates /etc/profile.d/java.sh | |
copy: | |
dest: /etc/profile.d/java.sh | |
content: "export JAVA_HOME=$(readlink -f /usr/bin/java | sed 's:/bin/java::')\n" | |
owner: root | |
group: root | |
mode: '0755' | |
- name: Find /var/log files equal or greater than 10 megabytes ending with .old or .log.gz | |
find: | |
paths: /usr/java | |
patterns: "{{ orajdk.type|default('jdk') }}.*{{ orajdk.version }}.*{{ orajdk.upd }}.*{{ orajdk.platform }}" | |
file_type: directory | |
use_regex: yes | |
register: java_paths | |
- name: Manage java in alternatives | |
alternatives: | |
link: /usr/bin/java | |
name: java | |
path: "{{ java_paths }}/bin/java" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment