darkwizard242.adoptopenjdk

Ansible Role: adoptopenjdk

adoptopenjdk(デフォルトでは)パッケージをDebian系およびEL系システムにインストールするためのロールです。変数を渡すことで、これらのシステムからアンインストールすることもできます。

要件

なし。

ロール変数

利用可能な変数は以下にリストされています(defaults/main.ymlにあります):

変数リスト:

# 一般的な変数
adoptopenjdk_app_name: adoptopenjdk-11-hotspot
adoptopenjdk_desired_state: present

# Debian系の変数
adoptopenjdk_pre_reqs_debian:
  - apt-transport-https
  - wget
  - gnupg
adoptopenjdk_pre_reqs_debian_desired_state: present
adoptopenjdk_repo_debian_gpg_key: https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public
adoptopenjdk_repo_debian_gpg_keyring_file: /etc/apt/trusted.gpg
adoptopenjdk_repo_debian: "deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb {{ ansible_lsb['codename'] }} main"
adoptopenjdk_repo_debian_filename: "{{ adoptopenjdk_app_name }}"
adoptopenjdk_repo_debian_desired_state: present

# EL系の変数
adoptopenjdk_repo_el_gpg_key: https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public
adoptopenjdk_repo_el_name: AdoptOpenJDK
adoptopenjdk_repo_el_description: AdoptOpenJDK
adoptopenjdk_repo_el: http://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/centos/$releasever/$basearch
adoptopenjdk_repo_el_filename: "{{ adoptopenjdk_app_name }}"
adoptopenjdk_repo_el_gpgcheck: yes
adoptopenjdk_repo_el_enabled: yes
adoptopenjdk_repo_el_desired_state: present

変数の説明:

変数 値(デフォルト) 説明
adoptopenjdk_app_name adoptopenjdk-11-hotspot デフォルトでインストールされるAdoptOpenJdkパッケージの名前(例:adoptopenjdk-11-hotspot)。他のパッケージ(例:adoptopenjdk-8-openj9adoptopenjdk-15-hotspotなど)を使用することもできます。
adoptopenjdk_desired_state present adoptopenjdk_app_nameパッケージの状態(例:adoptopenjdk-11-hotspotパッケージ)。インストールするか、利用可能か確認するか、アンインストールするか(Ansible aptモジュールの値:presentlatest、またはabsent)を指定。
adoptopenjdk_pre_reqs_debian apt-transport-https, wget, gnupg Debian系システムにおけるAdoptOpenJdkに必要なパッケージ。
adoptopenjdk_pre_reqs_debian_desired_state present adoptopenjdk_pre_reqs_debianパッケージの状態。インストールするか、利用可能か確認するか、アンインストールするかを指定(Ansible aptモジュールの値:presentlatest、またはabsent)。
adoptopenjdk_repo_debian_gpg_key https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public Debian系システムに必要なAdoptOpenJdk GPGキー。
adoptopenjdk_repo_debian_gpg_keyring_file /etc/apt/trusted.gpg AdoptOpenJdkキーリングキーを置くためのキーリングファイル。
adoptopenjdk_repo_debian "deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb {{ ansible_lsb['codename'] }} main" Debian系システム用のリポジトリのURL。
adoptopenjdk_repo_debian_filename "{{ adoptopenjdk_app_name }}" Debian系システムの/etc/apt/sources.list.d/に保存されるリポジトリファイルの名前。デフォルトでは、adoptopenjdk-11-hotspotが使用されます。
adoptopenjdk_repo_debian_desired_state present AdoptOpenJdk用のDebian系リポジトリファイルの状態。
adoptopenjdk_repo_el_name AdoptOpenJDK EL系システム用のAdoptOpenJDKリポジトリ名。
adoptopenjdk_repo_el_gpg_key https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public EL系システムに必要なAdoptOpenJdk GPGキー。
adoptopenjdk_repo_el_description AdoptOpenJDK EL系リポジトリファイルに追加される説明。
adoptopenjdk_repo_el http://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/centos/$releasever/$basearch EL系システムのAdoptOpenJDKのリポジトリのurl。
adoptopenjdk_repo_el_gpgcheck yes EL系システムに対してAdoptOpenJDKのgpgチェックを行うかどうかのブール値。
adoptopenjdk_repo_el_enabled yes EL系システムでAdoptOpenJDKリポジトリを「有効」に設定するかどうかのブール値。
adoptopenjdk_repo_el_filename "{{ adoptopenjdk_app_name }}" EL系システムの/etc/yum/sources.list.d/に保存されるリポジトリファイルの名前。デフォルトでは、adoptopenjdk-11-hotspotが使用されます。
adoptopenjdk_repo_el_desired_state present AdoptOpenJdk用のEL系リポジトリファイルの状態。

依存関係

なし。

例 Playbook

デフォルトの動作(すなわち、adoptopenjdk-11-hotspotパッケージのインストール)を持つansible playbooksの例。

- hosts: servers
  roles:
    - darkwizard242.adoptopenjdk

動作をカスタマイズする例(たとえば、ホットスポットの代わりにj9 jvmをインストールする、adoptopenjdk-15-openj9パッケージ)のansible playbooksの例。

- hosts: servers
  roles:
    - darkwizard242.adoptopenjdk
  vars:
    adoptopenjdk_app_name: adoptopenjdk-15-openj9

動作をカスタマイズする例(たとえば、adoptopenjdk-11-hotspotパッケージのアンインストール)のansible playbooksの例。

- hosts: servers
  roles:
    - darkwizard242.adoptopenjdk
  vars:
    adoptopenjdk_desired_state: absent

ライセンス

MIT

作者情報

このロールはAli Muhammadによって作成されました。

プロジェクトについて

AdoptOpenJDK installation on Debian-based and EL-based systems.

インストール
ansible-galaxy install darkwizard242.adoptopenjdk
ライセンス
mit
ダウンロード
19.2k
所有者
Senior DevOps/CloudOps Engineer. Dedicated to Automating everything I come across. Love to work on and learn new technologies/tools everyday!