Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/William-Yeh/ansible-oracle-java
An Ansible role that installs Oracle JDK, in the format for Ansible Galaxy.
https://github.com/William-Yeh/ansible-oracle-java
Last synced: 4 days ago
JSON representation
An Ansible role that installs Oracle JDK, in the format for Ansible Galaxy.
- Host: GitHub
- URL: https://github.com/William-Yeh/ansible-oracle-java
- Owner: William-Yeh
- License: apache-2.0
- Created: 2015-02-10T10:15:12.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2018-10-31T14:15:29.000Z (about 6 years ago)
- Last Synced: 2024-08-02T03:02:03.664Z (3 months ago)
- Language: Shell
- Homepage: https://galaxy.ansible.com/williamyeh/oracle-java/
- Size: 65.4 KB
- Stars: 170
- Watchers: 26
- Forks: 134
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ansible-roles - williamyeh.oracle-java - Install oracle java. (Ansible roles / Languages)
README
williamyeh.oracle-java for Ansible Galaxy
============[![Build Status](https://travis-ci.org/William-Yeh/ansible-oracle-java.svg?branch=master)](https://travis-ci.org/William-Yeh/ansible-oracle-java) [![Circle CI](https://circleci.com/gh/William-Yeh/ansible-oracle-java.svg?style=shield)](https://circleci.com/gh/William-Yeh/ansible-oracle-java)
## Summary
Role name in Ansible Galaxy: **[williamyeh.oracle-java](https://galaxy.ansible.com/williamyeh/oracle-java/)**
This Ansible role has the following features for Oracle JDK:
- Install JDK 7 or 8 version.
- Install optional Java Cryptography Extensions (JCE)
- Install for CentOS, Debian/Ubuntu, SUSE, and Mac OS X families.If you prefer OpenJDK, try alternatives such as [geerlingguy.java](https://galaxy.ansible.com/geerlingguy/java/) or [smola.java](https://galaxy.ansible.com/smola/java/).
## Role Variables
### Mandatory variables
None.
### Optional variables
User-configurable defaults:
```yaml
# which version?
java_version: 8# which subversion?
java_subversion: 112# which directory to put the download file?
java_download_path: /tmp# rpm/tar.gz file location:
# - true: download from Oracle on-the-fly;
# - false: copy from `{{ playbook_dir }}/files` on the control machine.
java_download_from_oracle: true# remove temporary downloaded files?
java_remove_download: true# set $JAVA_HOME?
java_set_javahome: false# install JCE?
java_install_jce: false
```For other configurable internals, read `tasks/set-role-variables.yml` file; for example, supported `java_version`/`java_subversion` combinations.
If you want to install a Java release which is not supported out-of-the-box, you have to specify the corresponding Java build number in the variable `java_build` in addition to `java_version` and `java_subversion`, e.g.
```yaml
---
- hosts: allroles:
- williamyeh.oracle-javavars:
java_version: 8
java_subversion: 91
java_build: 14
```### Customized variables, if absolutely necessary
If you have a pre-downloaded `jdk_tarball_file` whose filename cannot be inferred successfully by `tasks/set-role-variables.yml`, you may specify it explicitly:
```yaml
# Specify the pre-fetch filename (without tailing .tar.gz or .rpm or .dmg);
# used in conjunction with `java_download_from_oracle: false`.jdk_tarball_file
# For example, if you have a `files/jdk-7u79-linux-x64.tar.gz` locally,
# but the filename cannot be inferred successfully by `tasks/set-role-variables.yml`,
# you may specify the following variables in your playbook:
#
# java_version: 7
# java_subversion: 79
# java_download_from_oracle: false
# jdk_tarball_file: jdk-7u79-linux-x64
#
```## Usage
### Step 1: add role
Add role name `williamyeh.oracle-java` to your playbook file.
### Step 2: add variables
Set vars in your playbook file.
Simple example:
```yaml
---
# file: simple-playbook.yml- hosts: all
roles:
- williamyeh.oracle-javavars:
java_version: 8
```### (Optionally) pre-fetch .rpm and .tar.gz files
For some reasons, you may want to pre-fetch .rpm and .tar.gz files *before the execution of this role*, instead of downloading from Oracle on-the-fly.
To do this, put the file on the `{{ playbook_dir }}/files` directory in advance, and then set the `java_download_from_oracle` variable to `false`:
```yaml
---
# file: prefetch-playbook.yml- hosts: all
roles:
- williamyeh.oracle-javavars:
java_version: 8
java_download_from_oracle: false
```## Dependencies
## License
Licensed under the Apache License V2.0. See the [LICENSE file](LICENSE) for details.
## History
Rewritten from my pre-Galaxy version: [server-config-template](https://github.com/William-Yeh/server-config-template).