srsp.oracle-java

srsp.oracle-java for Ansible Galaxy

ビルドステータス

概要

Ansible Galaxyでのロール名: srsp.oracle-java

このAnsibleロールは、Oracle JDKに関する以下の機能を備えています:

  • Oracle JDKをバージョン8から13までインストールします。
  • オプションのJava Cryptography Extensions (JCE) をインストールします。JDKバージョンが8u152以下の場合のみ必要です。
  • CentOS、Debian/Ubuntu、SUSE、およびmacOSオペレーティングシステムにインストールします。

このロールはwilliamyeh.oracle-javaに基づいていますが、私はより最近のJavaバージョンを求め、古いバージョンのサポートを終了しました。

OpenJDKを好む場合は、geerlingguy.javaを試してください。

Oracleからの自動ダウンロード

注意: 以前は、このロールはすべてのJDKをOracleサイトから直接ダウンロードしていましたが、Oracleはこの可能性を段階的に制限しています。現在、OracleのログインなしではJDK 8のバージョンをダウンロードできません。JDK 11は一つの古いバージョンしかダウンロードできず、現時点ではJDK 13をダウンロード可能です。

Oracleが新しいJavaバージョンをリリースするたびにこの状況が変わるため、信頼しない方が良いでしょう。手動でJDKをダウンロードし、このロールを使用してインストールすることをお勧めします。

ロール変数

基本的な使用法

これにより、OracleからJDKをダウンロードし、インストールしようとします。

- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    # これを設定する必要があります:
    - java_version: 13
    # これを省略できます(ロールはその時知っている最新バージョンを使用します):
    - java_subversion: 0.2

手動でダウンロードしたJDKをインストール

目的のシステム用にダウンロードしたJDKファイルをfilesディレクトリに置き、java_download_fromlocalに設定します:

- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    - java_version: 8
    - java_subversion: 201
    - java_download_from: local

自分のミラーからインストール

- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    - java_version: 8
    - java_subversion: 172
    - java_download_from: mirror
    - java_mirror: "http://some.url/in/your/network/jdk-8u172-macosx-x64.dmg"

JDKをローカルマシンにダウンロード (事前取得)

ローカルマシンにJDKを置きたいだけの場合(例えば、モレキュールテストや社内ミラーにアップロードするために)、このロール内のprefetch.ymlプレイブックを使用できます:

ansible-playbook prefetch.yml

ニーズに応じてプレイブックを変更してください。

コマンドラインから実行する場合

ansible-playbook --ask-become-pass playbook.yml

オプション変数

ユーザー設定可能なデフォルト:

# Javaバージョン
java_version: 8

# Javaサブバージョン
java_subversion: 201

# Oracleから直接Javaをダウンロードするかどうか
# - oracle: Oracleサイトから直接ダウンロードします。
# - mirror: 'java_mirror'で定義されたURLからダウンロードします。
# - local: コントロールマシンのロールまたはプレイブックの`files`ディレクトリからコピーします。
java_download_from: oracle

# 'java_download_from'の値に応じて、ここで異なることが起こります:
# - oracle: 設定する必要はありません。Oracleのダウンロードミラーで事前設定されています。
# - mirror: ダウンロードしたいミラーを設定する必要があります。ファイルを含む完全なURLを設定する必要があります。JCEも必要な場合は、'jce_zip_url'も設定する必要があります。
# - local: 'java_mirror'は使用されないため、値は無視されます。
#java_mirror: "https://private-repo.com/java/jdk-8u172-macosx-x64.dmg"
java_mirror: "http://download.oracle.com/otn-pub/java"

# 一時ダウンロードファイルを削除しますか?
java_remove_download: true

# $JAVA_HOMEを設定しますか?
java_set_java_home: true

# JCEをインストールしますか?
java_install_jce: false

その他の設定可能なオプションについては、tasks/set-role-variables.ymlファイルを読んでください;例えば、サポートされるjava_version/java_subversionの組み合わせを見ることができます。

サポートされていないJDKをインストールしたい!

問題ありません!必要なJavaビルド番号をjava_buildjdk_tarball_hashの変数に、java_versionjava_subversionとともに指定してください。例えば:

# ファイル: playbook.yml
- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    - java_version: 8
    - java_subversion: 141
    - java_build: 15
    - jdk_tarball_hash: 336fa29ff2bb4ef291e347e091f7f4a7

ライセンス

Apache License V2.0の下でライセンスされています。詳細はLICENSEファイルをご覧ください。

開発

テスト

テストはmoleculeを使用しています。このロールはOracleのJDKを必要とするため、moleculeテストコンテナは/tmp/javaをマウントし、JDKがローカルマシンに保持され、テストコンテナが破壊されても利用可能なままとなります。インストールファイルを事前取得し、/tmp/javaに置くこともできます。

これにより、デフォルトのシナリオに対してすべてのテストサイクルが実行されます:

molecule test

特定のディストリビューションで作業したい場合は、以下のように使用します:

molecule converge --scenario-name opensuse15

すべてをテストしたい場合は、次のコマンドを発行します:

molecule test --all

これには時間がかかります。

プロジェクトについて

Oracle JDK 8 to 13 for CentOS/Fedora/Debian/Ubuntu/Suse/MacOSX

インストール
ansible-galaxy install srsp.oracle-java
ライセンス
apache-2.0
ダウンロード
186.3k
所有者
Doing software things @holisticon