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によって作成されました。

プロジェクトについて

Java for GNU/Linux systems

インストール
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.