gantsign.sdkman_init
Ansible ロール: SDKMAN 初期化
このロールは、ソフトウェア開発キットマネージャーであるSDKMANを初期化するためのものです。このロールを使用すると、特定のSDKをAnsibleのプロビジョニングの一部としてインストールし、デフォルトで使用するバージョンを設定できます。
重要: このロールを使用するには、事前にSDKMANがインストールされている必要があります。SDKMANをインストールするには、私たちのgantsign.sdkmanロールを使用できます。
要件
Ansible >= 2.9
Linuxディストリビューション
Debian系
Debian
- Stretch (9)
- Buster (10)
- Bullseye (11)
Ubuntu
- Bionic (18.04)
- Focal (20.04)
RedHat系
Rocky Linux
- 8
Fedora
- 35
SUSE系
openSUSE
- 15.3
注意: 他のバージョンも動作する可能性がありますが、テストはされていません。
ロール変数
以下の変数は、このロールの動作を変更します:
# SDKMANはユーザーごとに初期化されるため、少なくとも1人のユーザーを指定する必要があります
users:
- username: # SDKMANを初期化するユーザー
sdkman_install:
- candidate: # SDK名(例: java)
version: # インストールする候補のバージョン
path: # オプション。既存のSDKインストールをSDKMANに追加するため
# 既存のSDKの`version`はSDKMANに提供されるものと同じではいけません。
# バージョン文字列は識別子なので、他のバージョンと重複しない限り
# 好きな値を指定できます。
sdkman_default:
_candidate_sdk_name_here_: # オプション。デフォルトバージョン
例プレイブック
これは、このロールだけの例設定です(SDKMANをインストールするための必要なロールなしで)。
- hosts: servers
roles:
- role: gantsign.sdkman_init
users:
- username: example_username
sdkman_install:
- candidate: java
version: '8.0.181-zulu'
- candidate: java
version: '10'
path: '/opt/java/jdk-10.0.2'
- candidate: maven
version: '3.5.4'
sdkman_default:
java: '10'
maven: '3.5.4'
これは、gantsign.sdkman
ロールを使用してSDKMANをインストールする完全な例です。gantsign.sdkman_init
ロールがAnsibleタグを使って特定のSDKを条件付きでインストールできることに注意してください。
- hosts: servers
roles:
- role: gantsign.sdkman
sdkman_users:
- example_username
- role: gantsign.sdkman_init
tags:
- java
users:
- username: example_username
sdkman_install:
- candidate: java
version: '8.0.181-zulu'
- candidate: java
version: '10'
path: '/opt/java/jdk-10.0.2'
sdkman_default:
java: '10'
- role: gantsign.sdkman_init
tags:
- java
- maven
users:
- username: example_username
sdkman_install:
- candidate: maven
version: '3.5.4'
sdkman_default:
maven: '3.5.4'
GantSignの他のロール
GantSignの他のロールは、Ansible Galaxyで見つけることができます。
開発とテスト
このプロジェクトは、開発とテストの支援にモレキュールを使用しています。このロールは、TestinfraとTestを使用して単体テストされています。
開発やテストを行うには、以下をインストールしておく必要があります:
上記をインストールするのは難しい場合があるため、このプロジェクトではMolecule Wrapperが含まれています。Molecule Wrapperは、Moleculeとその依存関係(Linuxを除く)をインストールし、その後に渡されたコマンドでMoleculeを実行するシェルスクリプトです。
このロールをMolecule Wrapperを使用してテストするには、プロジェクトのルートから以下のコマンドを実行します:
./moleculew test
注: 一部の依存関係はインストールにsudo
権限が必要です。
ライセンス
Apache 2
著者情報
ジョン・フリーマン
GantSign Ltd.
会社番号: 06109112(イングランドに登録)
Ansible role for initializing the SDKMAN software development kit manager.
ansible-galaxy install gantsign.sdkman_init