Git Product home page Git Product logo

ansible-java's Introduction

silpion.java

Install Oracle Java.

Synopsis

- name: Install Java 8u102 JDK to /opt/java
  hosts: all
  roles:
    - role: silpion.java
- name: Install Java server-jre to /usr/local/java
  hosts: all
  roles:
    - role: silpion.java
      java_oracle_distribution: srv
      java_install_dir: /usr/local/java
- name: Install Java JRE 8u60
  hosts: all
  roles:
    - role: silpion.java
      java_oracle_version: 8u60
      java_oracle_distribution: jre

Description

The role downloads redistributable packages from the internet to the hosts local filesystem before it may install those on any number of managed nodes in the local network.

Downloads are performed with the command module using curl. It is required to have curl installed on the local host you are running ansible-playbook on to manage nodes (your workstation).

Downloaded assets are verified based on SHA 256 checksums on the local workstation before getting copied to the managed node.

The local shasum binary is guessed automatically but may get configured via java_shasum_binary: /path/to/shasum/binary.

For detailed configuration options see Role Variables documentation below.

Dependencies

roles. This is configured for the ansible-galaxy install command in requirements.yml.

ansible-galaxy install --no-deps --role-file requirements.yml

Role Variables

  • java_oracle_distribution: Configure the Java distribution to be installed (default: jdk, values: [jdk, jre, srv])
  • java_oracle_version: Configure Java version to be installed (string, default: 8u66)
  • java_install_dir: Base installation directory for any Java implementation/distribution (string, default: /opt/java)
  • java_shasum_binary: Allows to configure shasum binary for local_action: command (string, default: with_first_found: java_shasum_binaries (see vars/main.yml))
  • java_path_to_lib_role: configure path to lib-role, which can get configured via silpion.lib role (string, default: {{ lib_roles_path }})

Note: srv is an Ansible compatible shorthand for the Oracle server-jre.

Versioned variables

Predefined SHA sums and further version specific configuration may get found in the vars/versions directory. When configuring a version, that is not predefined (so far), the following variables must also be defined in the playbook:

  • java_oracle_version_major: Oracle major version
  • java_oracle_version_minor: Oracle minor version
  • java_oracle_version_patch: Oracle patch version
  • java_oracle_version_update: Oracle major version
  • java_oracle_version_build: Oracle build version
  • java_oracle_redis_jdk_sha256sum: SHA256 sum for the downloaded Oracle Java JDK redistributable package - mandatory when java_oracle_distribution is jdk
  • java_oracle_redis_jre_sha256sum: SHA256 sum for the downloaded Oracle Java JRE redistributable package - mandatory when java_oracle_distribution is jre
  • java_oracle_redis_srv_sha256sum: SHA256 sum for the downloaded Oracle Java Server-JRE redistributable package - mandatory when java_oracle_distribution is srv
  • java_oracle_redis_jce_sha256sum: SHA256 sum for the downloaded Oracle Java JCE policies package
  • java_oracle_mirror_jce: Mirror URL for the download of the Oracle Java JCE policies package
  • java_oracle_redis_jce_filename: File name of the Oracle Java JCE policies package
  • java_oracle_redis_jce_archive_dirname: Name of the base directory in the Oracle Java JCE policies package

Supported versions

  • 7u21
  • 7u51
  • 7u71
  • 7u80
  • 8u20
  • 8u25
  • 8u31
  • 8u45
  • 8u51
  • 8u60
  • 8u65
  • 8u66
  • 8u92
  • 8u101
  • 8u102

Starting with

  • 7u80 (Java 7)
  • 8u66 (Java 8)

configuration of java_oracle_distribution: srv is available.

Role facts

This role sets persistent facts for other roles to use via

  • facts.d ansible_local.java.general.java_home

This variable contains the path to the default JVM configured with this role.

Checkmode

Checkmode is supported provided that all assets have been downloaded. Otherwise, the copy tasks will fail.

You can download the assets without making any changes on the remote nodes by executing this role with the java_download tag.

Contributing

If you want to contribute to this repository please be aware that this project uses a gitflow workflow with the next release branch called next.

Please fork this repository and create a local branch split off of the next branch and create pull requests back to the origin next branch.

License

Apache Version 2.0

Author

  • Mark Kusch @mark.kusch silpion.de
  • Marc Rohlfs @marc.rohlfs silpion.de
  • Alvaro Aleman @alvaro.aleman silpion.de

Contributors

  • Lars Maehlmann @lars.maehlmann silpion.de
  • Sebastian Davids @sebastian.davids silpion.de
  • ludovicc
  • nixlike
  • trumant

ansible-java's People

Contributors

alvaroaleman avatar ludovicc avatar marcrohlfs avatar sdavids avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.