lean_delivery.java
Javaロール
概要
このAnsibleロールは以下の機能を提供します:
OpenJDK
- JRE、JDKのインストール
- openjdk-fallback、リポジトリ、s3、ウェブ、chocolatey、ローカルソースからの追加インストールオプション。
Oracle Java:
- JRE、JDK、Server-JREのインストール
- s3、ウェブ、ローカルソースからの追加インストールオプション。
免責事項: このロールの任意のバージョンの使用は、Oracle Binary Code License Agreement for Java SE に同意したことを意味します。
SAPJVM
- JDKのインストール
- sapjvm-fallback、s3、ウェブ、ローカルソースからの追加インストールオプション。
ZULU
- JDKのインストール
- zulu-fallback、s3、ウェブ、ローカルソース、chocolateyからの追加インストールオプション。
Adoptium
- JDK、JREのインストール
- adoptium-fallback、リポジトリ、ウェブ、ローカルソース、s3、chocolateyからの追加インストールオプション。
SapMachine
- JDK、JREのインストール
- sapmachine-fallback、ウェブ、ローカルソース、chocolatey(最新バージョンのみ)、s3からの追加インストールオプション。
Alibaba Dragonwell 8 JDK
- JDKのインストール
- Alibaba Dragonwell 8はOpenJDK 8に対応しており、Java SEスタンダードと互換性があります。
- Linux/x86_64プラットフォームのみ
- dragonwell8-fallback、ウェブ、ローカルソース、s3からの追加インストールオプション。
Amazon Corretto
- JDK 8および11のインストール
- JRE 8のインストール(Amazon Linux 2のみ)
- フォールバック、ウェブ、ローカルソース、s3からの追加インストールオプション。
要件
- インストール用のansibleバージョン: 2.7
- サポートされているOpenJDKバージョン:
- 8
- EL 6: リポジトリ、tarball
- EL 7: リポジトリ、tarball
- EL 8: リポジトリ、tarball
- Ubuntu bionic: リポジトリ、tarball
- Debian stretch: リポジトリ、tarball
- Windows: tarball
- 11
- EL 6: tarball
- EL 7: リポジトリ、tarball
- Ubuntu bionic: リポジトリ、tarball
- Debian stretch: tarball
- Windows: tarball
- 12
- EL 6: tarball
- EL 7: tarball
- EL 8: tarball
- Ubuntu bionic: tarball
- Debian stretch: tarball
- Windows: tarball
- 13
- EL 6: tarball、フォールバック
- EL 7: tarball、フォールバック
- EL 8: tarball、フォールバック
- Ubuntu bionic: tarball、フォールバック
- Debian stretch: tarball、フォールバック
- Windows: tarball、フォールバック
- 8
- サポートされているOracle Javaバージョン:
- 7
- 8
- 11
- 12
- サポートされているSAPJVMバージョン:
- 7
- 8
- サポートされているZuluバージョン:
- 8
- 11
- 17
- サポートされているAdoptiumバージョン:
- 8
- 11
- 12
- 13
- サポートされているSapMachineバージョン:
- 11
- EL 7: フォールバック
- EL 8: フォールバック
- Ubuntu bionic: フォールバック
- Debian stretch: フォールバック
- Windows: chocolatey(最新バージョンのみ、java_minor_version変数はサポートされていません)、フォールバック
- 12
- EL 7: tarball
- EL 8: tarball
- Ubuntu bionic: tarball
- Debian stretch: tarball
- Windows: tarball
- 13
- EL 7: フォールバック
- EL 8: フォールバック
- Ubuntu bionic: フォールバック
- Debian stretch: フォールバック
- Windows: chocolatey(最新バージョンのみ、java_minor_version変数はサポートされていません)、フォールバック
- 11
- サポートされているAlibaba Dragonwellバージョン:
- 8.0.0
- 8.1.1
- サポートされているAmazon Correttoバージョン:
- 8
- 11
- サポートされているOS:
- Ubuntu
- bionic
- xenial
- trusty
- Debian
- stretch
- buster
- Amazon Linux
- Amazon Linux 2
- EL (RHEL/CentOS)
- 6
- 7
- 8
- Windows
- 10
- 2016
- 2019
- Ubuntu
ロール変数
java_distribution
Javaディストリビューションタイプ。次のいずれか:openjdk
(デフォルト)oracle_java
sapjvm
zulu
adoptium
sapmachine
dragonwell8
corretto
注意: 'openjdk'以外のディストリビューションをインストールする場合、この変数は必須です。
java_package
Javaパッケージタイプ。利用可能:
jdk
(デフォルト)jre
transport
アーティファクトソースの輸送。要件に応じてfallback
(OpenJDK、SAPJVM、Adoptium、SapMachine、ZULU、Alibaba Dragonwell、Amazon Correttoディストリビューションがサポートされています)、repositories
(OpenJDK、Adoptium、Amazon Correttoディストリビューションがサポートされています)、local
、web
またはs3
を使用してください。利用可能:
repositories
システムリポジトリからJavaをインストール(yumまたはapt、Linuxのみ)web
カスタムウェブURLからアーティファクトを取得chocolatey
Windows専用パッケージマネージャ(サポートされているOpenJDK: JDK 11、12またはJRE 8、SapMachine、ZULU、Adoptium)local
Ansibleマスターに保存されたローカルアーティファクト(他の輸送のキャッシュとして使用可能)s3
S3バケットからアーティファクトをダウンロード(Linuxクライアントのみ、Windowsには他の輸送を使用してください)fallback
公式サイトからアーティファクトを取得(ディストリビューション:openjdk、sapjvm、zulu、adoptium、sapmachine、dragonwell8、correttoで利用可能)。
これはtransport
変数のデフォルト値です。注意
s3
輸送を使用するには、ターゲットホストに特定のパッケージをインストールする必要があります:- 'botocore'
- 'boto'
- 'boto3' これらのパッケージは、指定されたロールに含まれていません。事前にインストールする必要があります。
java_tarball_install
- tarballとパッケージのインストールを選択するbooleanパラメータ。transport
がrepositories
でない場合は、デフォルトはtrue
です。java_major_version
- OpenJDK(8,11,17)またはoracle-java(6,7,8, 11など)のメジャーバージョン。デフォルトは12です。java_minor_version
- oracle-javaのマイナーバージョン。バージョン8.202
の場合、マイナーは202
(デフォルト)。OpenJDKの場合、この変数は手動で設定する必要はありません。java_arch
パッケージのアーキテクチャ。(リポジトリからOpenJDKをインストールする場合、この変数はRHELでのみ使用できます)利用可能:
x64
x86_64用(デフォルト)i586
x86用
java_path
Javaパッケージがインストールされる場所。 注意 transport = repositoriesが選択されている場合は、この変数を使用しないでください。デフォルト値はOSディストリビューションによって異なります:
- RedHat:
/usr/java
(リポジトリからは/usr/lib/jvm
) - Debian:
/usr/lib/jvm
- Windows:
C:\Program Files\Java
- RedHat:
java_download_path
: アーティファクトをダウンロードするためのローカルフォルダーLinuxのデフォルト:
/tmp
Windowsのデフォルト:
TEMP環境変数
transport_web
http/httpsアーティファクトのURI 例: "http://my-storage.com/jdk-8u172-linux-x64.tar.gz"transport_web: "https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz"
(OpenJDK 11の例)transport_local
ローカルアーティファクトのパス 例: "/tmp/jdk-8u172-linux-x64.tar.gz"transport_s3_bucket
- s3バケット名デフォルト:
s3_bucket
transport_s3_path
- バケット内のパッチフォルダへのパスデフォルト:
/folder
transport_s3_aws_access_key
- awsキー。 https://docs.ansible.com/ansible/latest/modules/aws_s3_module.html に従って、パラメータまたは環境変数として設定する必要があります。デフォルト:
{{ lookup('env','AWS_ACCESS_KEY') }}
transport_s3_aws_secret_key
- awsシークレットキー。 https://docs.ansible.com/ansible/latest/modules/aws_s3_module.html に従って、パラメータまたは環境変数として設定する必要があります。デフォルト:
{{ lookup('env','AWS_SECRET_KEY') }}
Adoptiumの設定
adoptium_impl
Adoptiumの実装hotspot
(デフォルト)openj9
実行可能パスの設定
java_setup_path
- バイナリパスの設定を有効にします。true
に設定すると、Javaのバイナリがシステムパスに追加され、プロファイルが更新され、代替設定が行われます。false
に設定すると、パッケージシナリオによって行われる更新以外は、システム設定は行われません。
デフォルト:true
代替の優先順位の設定
java_alternative_priority
- 優先順位を設定するための設定。優先度を低くしたい場合に便利です。 デフォルト: 100
無制限ポリシーの設定
java_unlimited_policy_enabled
- 無制限ポリシーを適用するための設定デフォルト:
false
java_unlimited_policy_transport
アーティファクトソースの輸送。fallback
、local
、web
またはs3
を使用してより予測可能な結果を得るための設定。
デフォルト:fallback
利用可能:
web
カスタムウェブURLからアーティファクトを取得local
Ansibleマスターに保存されたローカルアーティファクトs3
S3バケット内のアーティファクト
java_unlimited_policy_transport_web
URI for http/httpsアーティファクト 例: "http://my-storage.com/jce_policy-8.zip"java_unlimited_policy_transport_local
ローカルアーティファクトのパス 例: "/tmp/jce_policy-8.zip"java_unlimited_policy_transport_s3_bucket
- s3バケット名デフォルト:
s3_bucket
java_unlimited_policy_transport_s3_path
- バケット内のパッチフォルダへのパスデフォルト:
/folder
現在のロールのインストールの例
ansible-galaxy install lean_delivery.java
例のプレイブック
openjdk-fallbackからOpenJDK 17をインストール(デフォルトのロール動作):
- name: OpenJDK javaをインストール
hosts: all
roles:
- role: lean_delivery.java
java_major_version: 17
リポジトリからOpenJDK 8をインストール:
- name: OpenJDK javaをインストール
hosts: all
roles:
- role: lean_delivery.java
transport: repositories
java_major_version: 8
ウェブからOpenJDK 11をインストール:
- name: OpenJDK javaをインストール
hosts: all
roles:
- role: lean_delivery.java
java_major_version: 11
java_tarball_install: true
transport: web
transport_web: https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
ローカルファイルからOracle java 8をインストール:
- name: Oracle javaをインストール
hosts: all
roles:
- role: lean_delivery.java
java_distribution: oracle_java
transport: local
transport_local: /tmp/jdk-8u181-linux-x64.tar.gz
S3バケットからOracle java 8をインストール:
インストールする前に、ホストをaws_s3モジュールが使用できるように準備する必要があります。 https://docs.ansible.com/ansible/latest/modules/aws_s3_module.html#requirements
- name: javaをインストール
hosts: all
roles:
- role: lean_delivery.java
java_distribution: oracle_java
java_package: jre
java_major_version: 8
transport: s3
transport_s3_bucket: java-s3-bucket
transport_s3_path: /java/jre-8u181-linux-x64.tar.gz
WindowsホストにOpenJDK 11.0.2をwin_chocolateyでインストール:
- name: javaをインストール
hosts: windows
roles:
- role: lean_delivery.java
java_package: jdk
transport: chocolatey
java_major_version: 11
java_minor_version: 0.2
sapjvm-fallbackからSAPJVM 8をインストール:
- name: sapjvmをインストール
hosts: all
roles:
- role: lean_delivery.java
java_distribution: sapjvm
transport: fallback
java_major_version: 8
zulu-fallbackからZULU 17をインストール:
- name: zuluをインストール
hosts: all
roles:
- role: lean_delivery.java
java_distribution: zulu
transport: fallback
java_major_version: 17
java_package: jdk
adoptium-fallbackからAdoptium 8-openj9-jreをインストール:
- name: Adoptiumをインストール
hosts: all
roles:
- role: lean_delivery.java
java_distribution: adoptium
transport: fallback
java_package: jre
adoptium_impl: openj9
java_major_version: 8
sapmachine-fallbackからSapMachine sapmachine-jre-10をインストール:
- name: SapMachineをインストール
hosts: all
roles:
- role: lean_delivery.java
java_distribution: sapmachine
transport: fallback
java_package: jre
java_major_version: 10
dragonwell8-fallbackからAlibaba Dragonwell 8をインストール:
- name: Alibaba Dragonwell8をインストール
hosts: all
roles:
- role: lean_delivery.java
java_distribution: dragonwell8
transport: fallback
java_major_version: 8
corretto-fallbackからAmazon Corretto JDK 8をインストール:
- name: Amazon Correttoをインストール
hosts: all
roles:
- role: lean_delivery.java
java_distribution: corretto
transport: fallback
java_major_version: 8
リポジトリからAmazon Corretto JDK 11をAmazon Linux 2にインストール:
- name: Amazon Correttoをインストール
hosts: all
roles:
- role: lean_delivery.java
java_distribution: corretto
transport: repositories
java_major_version: 11
ウェブからAmazon Corretto JDK 11をUbuntu 18.04にインストール:
- name: Amazon Correttoをインストール
hosts: all
roles:
- role: lean_delivery.java
java_distribution: corretto
transport: web
transport_web: https://d3pxv6yz143wms.cloudfront.net/11.0.5.10.1/amazon-corretto-11.0.5.10.1-linux-x64.tar.gz
ライセンス
Apache
著者情報
著者:
- Lean Delivery Team team@lean-delivery.com
Lean Delivery Java install
ansible-galaxy install lean_delivery.java