abessifi.java
Ansible Java ロール
説明
これは、いくつかのGNU/LinuxシステムにOracle/OpenJDK JavaをインストールするためのAnsibleロールです。
対応システム
- Debian
- Ubuntu
- RedHat
- CentOS
- FreeBSD
要件
- Ansible 1.9 以上(
pip
で簡単にインストール可能。例:sudo pip install ansible==1.9.2
) - Vagrant 1.7 以上
- パスワードによるSSH認証を使用している場合、Ansibleに必要な
sshpass
パッケージ。Ubuntu/Debianの場合:$ sudo apt-get install sshpass
- Virtualbox
- Oh-my-box ツール(オプション):AnsibleとRubyがあらかじめインストールされたVagrantベースボックスをすぐにプロビジョニングしてパッケージ化したい場合に使用。
ロール変数
利用可能な変数は以下に示されており、デフォルト値も記載されています:
java_jdk_type
- Java Development Toolkitの種類はoracle
またはopenjdk
にする必要があります(デフォルト: 'openjdk')java_version
- インストールするJavaのバージョン(デフォルト: '8')java_package
- インストールするJava JDKパッケージ名(デフォルト: None)java_set_as_default
- trueの場合、現在インストールされているJavaをシステムのデフォルトバージョンに設定します(デフォルト: false)oracle_jdk_rpm_package
- RedhatにOracle JDKをインストールするためのrpmパッケージ名(デフォルト: 'jdk-8u144-linux-x64.rpm')oracle_jdk_rpm_url
- Oracle JDKのrpmパッケージのダウンロードURL(デフォルト: 'http://download.oracle.com/otn-pub/java/jdk/8u144-b01/jdk-8u144-linux-x64.rpm')rpm_download_directory
- パッケージがダウンロードされる一時ディレクトリへの絶対パス(デフォルト: '/var/cache/yum/x86_64/7/extras/packages')
利用可能なタグ
install-java
- Java JDKのインストールを行うためのデフォルトタグ。
使用法
OpenJDK 8 をインストール(openjdkのデフォルトバージョン)
- hosts: localhost
sudo: yes
roles:
- ansible-java
Oracle JDK 8 をインストール(oracle jdkのデフォルトバージョン)
- hosts: localhost
sudo: yes
roles:
- { role: ansible-java, java_jdk_type: 'oracle' }
OpenJDK 7 をインストール(Debianにインストールしデフォルトに設定)
- hosts: localhost
sudo: yes
roles:
- role: ansible-java
java_version: 7
java_package: 'openjdk-7-jdk'
java_set_as_default: true
Oracle JDK 7 をインストール(Redhatにインストールしデフォルトに設定)
- hosts: localhost
sudo: yes
roles:
- role: ansible-java
java_jdk_type: 'oracle'
java_version: 7
oracle_jdk_rpm_package: 'jdk-7u79-linux-x64.rpm'
oracle_jdk_rpm_url: 'http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm'
java_set_as_default: true
開発とテスト
Vagrantでテスト
迅速なテストのために、Vagrantを使用してDebianのVMを立ち上げることができます。環境に合わせてVagrantfileを変更する必要があるかもしれません(IPアドレスなど)。
$ vagrant up
受け入れテストを実行
受け入れ/統合テストは、魔法のtest-kitchen
ツールを使用してロールに対して実行できます。すべての受け入れテストは ./test/integration/ ディレクトリにあります。
.kitchen.yml
ファイルは、テストの設定と実行するテストスイートのリストを記述しています。デフォルトでは、インスタンスはAnsibleで収束され、Vagrant仮想マシンで実行されます。
インスタンスをリストするには:
$ kitchen list
インスタンス ドライバ プロビジョナー 検証者 トランスポート 最後のアクション
default-debian-8-x64 Vagrant AnsiblePlaybook Busser Ssh <作成されていません>
override-java-version-debian-8-x64 Vagrant AnsiblePlaybook Busser Ssh <作成されていません>
install-oracle-jdk-debian-8-x64 Vagrant AnsiblePlaybook Busser Ssh <作成されていません>
例えば、Debian 8プラットフォームでoverride-java-versionスイートのテストを実行するには、次のようにします:
$ kitchen test override-java-version-debian-8-x64
作者
このロールは、DevOpsの熱心な愛好者であるAhmed Bessifiによって作成されました。
インストール
ansible-galaxy install abessifi.java
ライセンス
mit
ダウンロード
351
所有者
I’m a tech enthusiast who breathes code and loves creating beautiful software. I’m an active contributor to opensource projects and maintain a few of my own.