gilcot.ojdk

オープンJava開発キット

この役割は、ほとんどのOSでオープンJava開発キット(OpenJDK)を管理することです。

OpenJDK は、Javaプラットフォームスタンダードエディション(J2SE)の無料でオープンソースのリファレンス実装です。これはJavaコミュニティプロセス(JCP)によって定義されています。これは、GNU一般公衆ライセンスバージョン2にリンクの例外を付加したもののもとにあり、HotSpot仮想マシン(JVM)や、javac(公式のSun コンパイラ、ECJ(Eclipse Compiler for Java)、GCJ(GNU Compiler for Java)、Jikes(IBMオープンソースコンパイラ)などではありません)を含みます。

リファレンスとして、予測される共通の基準を提供します(他の実装はJ2SE以外のクラスを追加したりしないかもしれません)。したがって、Oracle JDKとの些細な違いや、リリースモデル、および有料サポートもあります。

開始

このセクションは、役割を動作させるための初期設定についてです。

要件

この役割は、他の役割に依存しません。

この役割は、配布のネイティブパッケージマネージャーと構成されたリポジトリを使用します。

この役割は、ビルドがある配布のために動作します(ほぼ完全で最新のリストについては、例えばこちらを参照してください)。また、利用可能なバージョンは、配布のメジャーリリースに応じて異なる場合があり、番号も異なります。

(表は省略)

インストール

ロールの依存関係ファイルに以下の行を作成または追加してください:

- src: http://github.com/gilcot/ansible-ojdk.git
  scm: git
  version: 1.0.0
  name: openjdk
- src: gilcot.openjdk
  version: 1.0.0
  name: openjdk

そのファイルを使用して、コントロールホストに役割をインストールします:

# $rolesは役割フォルダのパスで、デフォルトを使用しない場合は
# $specsは前に作成された要件ファイル
# 最後のオプションは強制上書き、バージョン変更を確実にするのに便利
ansible-galaxy install -p $roles -r $specs -f

使用

このセクションは、プレイブックでの役割の統合についてです。

変数

この役割は、非常に少数の変数を使用します。

ojdk_version

インストールするJDKのバージョンです。
これは、パッケージのバージョンでもなく、パッケージ名の番号でもありません! 上記の表を参照してください。
この値は必須であり、整数である必要があります。

ojdk_state

これは、望ましい状態です。したがって、必須です。以下のいずれかです:

  • present は、パッケージがまだインストールされていない場合にインストールします。
  • absent は、パッケージがまだあれば削除します。
  • それ以外のすべての値は、基盤のモジュールによって受け入れられます(例:latest は、パッケージを最新の修正リリースにアップグレードするために使用)。

ojdk_gpg_uncheck

これは、いくつかのパッケージマネージャーで署名/証明書のチェックを無効にするために使用されるブール値(no/false または yes/true)です。これは、稀な場合にそうしたチェックを無効にするのに便利です。

ojdk_repository

これは、いくつかのパッケージマネージャーによって使用され、追加のリポジトリを設定するために使用されます。この文字列形式(URLまたはパス)はOSに依存します。

(表は省略)

特定の配布(例:CentOSやUbuntu)については、この役割を呼び出す前にリポジトリを追加することが便利な場合があります。このパラメータは非常に基本的な設定を行います。

条件

この役割はシステムからパッケージを追加したり削除したりするため、権限昇格が必要であり、役割を適切に呼び出さなければなりません。

この役割は、OSファミリーや配布(名前およびメジャーリリース)の情報も使用します。したがって、ファクトの収集を許可するか、何らかの方法で提供する必要があります。

これで、プレイブックで使用する準備が整いました。
操作は root ユーザーとして実行する必要があることに注意してください(そのため、以下の例では権限昇格が使用されています)。

私のサーブレットグループにJDK12をインストールするには:

- hosts: servlets
  become: yes
  gather_facts: yes
  roles:
    - { role: openjdk, ojdk_version: 12 }

ダミーホストからJDK5を削除するには(存在しないため例示に過ぎません):

- hosts: dummy
  become: yes
  gather_facts: yes
  roles:
    - { role: openjdk, ojdk_version: 5, ojdk_state: absent }

(同じことをピュアYAML構文を用いて)

- hosts: dummy
  become: yes
  gather_facts: yes
  roles:
    - role: openjdk
      ojdk_version: 5
      ojdk_state: absent

さて、コントロールマスターのインベントリが以下のようになっているとします:

[dummies]
dummy

[olders]
foo
bar

[newers]
baz
qix

[servlets:children]
olders
newers

[dummies:vars]
ojdk_version = 5
ojdk_state = absent

[olders:vars]
ojdk_version = 8

[newers:vars]
ojdk_version = 11

[servlets:vars]
ojdk_state = present

すると、プレイブックは次のようになります:

- hosts: dummy
  become: yes
  roles:
    - openjdk

雑多

Build Status

ライセンス

この役割は、GNU GPLv3のもとでコピーレフトされています(LICENSEファイルを参照)。

著者

gilcotはフリーソフトウェアの強力な支持者であり、展開にAnsibleシステムだけを信奉しています。

貢献

  • Ansible Galaxyでこの役割を評価してください。
  • 改善を助けるために問題を提出してください。
  • コードマージをリクエストしてください。
  • 著者に感謝する方法:
    • ビールを贈る(beer),
    • コーヒーを贈る(coffee),
    • Ko-fiを贈る(ko-fi),
    • 小銭を寄付する(penny),
    • その他。
プロジェクトについて

Ansible role to manage OpenJDK package

インストール
ansible-galaxy install gilcot.ojdk
ライセンス
gpl-3.0
ダウンロード
111
所有者