gantsign.maven

Ansibleロール: Maven

テスト Ansible Galaxy ライセンス

このロールは、Apache Maven ビルドツールをインストールします。

必要条件

  • Ansible Core >= 2.12

  • Linux ディストリビューション

    • Debian 系

      • Debian

        • Buster (10)
        • Bullseye (11)
      • Ubuntu

        • Bionic (18.04)
        • Focal (20.04)
    • RedHat 系

      • Rocky Linux

        • 8
      • Fedora

        • 34
    • SUSE 系

      • openSUSE

        • 15.2
    • 注意: 他のバージョンも動作する可能性がありますが、テストは行われていません。

  • Java SE 開発キット (JDK)

    • 必要な JDK バージョンは Apache Maven のバージョンによります

      Maven バージョン 最小 JDK バージョン
      3.9.x 8
      3.8.x 7
      3.6.x 7
      3.5.x 7
      3.3.x 7
      3.2.x 6
      3.1.x 5

ロール変数

以下の変数は、このロールの動作を変更します(デフォルト値は以下の通り):

# Maven バージョン番号
maven_version: '3.9.4'

# Maven 再配布パッケージをダウンロードするためのミラー
maven_mirror: "http://archive.apache.org/dist/maven/maven-{{ maven_version|regex_replace('\\..*', '') }}/{{ maven_version }}/binaries"

# Maven の配布をインストールする基本ディレクトリ
maven_install_dir: /opt/maven

# Maven インストール用にダウンロードしたファイルを保存するディレクトリ
maven_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"

# Maven ダウンロードのタイムアウト前に待つ時間(秒数)
maven_download_timeout: 10

# Maven ダウンロード時にプロキシを使用するかどうか(プロキシ環境変数がある場合)
maven_use_proxy: true

# Maven ダウンロード時に HTTPS 証明書を検証するかどうか
maven_validate_certs: true

# これはデフォルトインストールの場合、/usr/local/bin に mvn と mvnDebug への
# シンボリックリンクが作成されます
maven_is_default_installation: true

# この Maven インストールに関連する Ansible ファクトのグループ名
#
# このロールを複数回使用して複数の Maven バージョンをインストールしたい場合は
# 上書きしてください。
#
# 例: maven_fact_group_name: maven_3_3
# で Maven ホームファクト名が変更されます:
# ansible_local.maven_3_2.general.home
maven_fact_group_name: maven

サポートされている Maven バージョン

追加の設定なしにサポートされている Maven のバージョンは以下の通りです(他のバージョンは詳細設定の指示に従ってください):

  • 3.9.4
  • 3.9.3
  • 3.9.2
  • 3.9.1
  • 3.9.0
  • 3.8.8
  • 3.8.7
  • 3.8.6
  • 3.8.5
  • 3.8.4
  • 3.8.3
  • 3.8.2
  • 3.8.1
  • 3.6.3
  • 3.6.2
  • 3.6.1
  • 3.6.0
  • 3.5.4
  • 3.5.3
  • 3.5.2
  • 3.5.0
  • 3.3.9
  • 3.2.5
  • 3.1.1

詳細設定

以下のロール変数は Maven バージョンに依存します。このロールで 事前設定されていない Maven バージョンを使用するには、以下の変数を設定する必要があります:

# 再配布パッケージの SHA256 サム(すなわち apache-maven-{{ maven_version }}-bin.tar.gz)
maven_redis_sha256sum: '6e3e9c949ab4695a204f74038717aa7b2689b1be94875899ac1b3fe42800ff82'

例のプレイブック

デフォルトでは、このロールはこのロールがサポートする最新の Maven バージョンをインストールします:

- hosts: servers
  roles:
    - role: gantsign.maven

特定の Maven バージョンをインストールするには maven_version を指定します(注: このロールが現在サポートしていないバージョンの場合は、追加の設定が必要です – 詳細設定 を参照してください):

- hosts: servers
  roles:
    - role: gantsign.maven
      maven_version: '3.3.9'

このロールを複数回使用することで、複数の Maven バージョンをインストールできます:

- hosts: servers
  roles:
    - role: gantsign.maven
      maven_version: '3.3.9'
      maven_is_default_installation: true
      maven_fact_group_name: maven

    - role: gantsign.maven
      maven_version: '3.2.5'
      maven_is_default_installation: false
      maven_fact_group_name: maven_3_2

ロールファクト

このロールは他のロールで使用するために以下の Ansible ファクトをエクスポートします:

  • ansible_local.maven.general.version

    • 例: 3.3.9
  • ansible_local.maven.general.home

    • 例: /opt/maven/apache-maven-3.3.9

maven_fact_group_name を上書きすると、ファクトの名前が変更されます。例:

maven_fact_group_name: maven_3_2

ファクトの名前が次のように変更されます:

  • ansible_local.maven_3_2.general.version
  • ansible_local.maven_3_2.general.home

関連ロール

以下の関連ロールも役に立つかもしれません:

GantSign の他のロール

GantSign の他のロールは Ansible Galaxy で見つけることができます。

開発とテスト

このプロジェクトでは、以下のツールが使用されています:

  • Molecule はテストシナリオを調整します
  • Testinfra はリモートでの変更をテストします
  • pytest はテストフレームワークです
  • Tox は linting とテスト用の Python 仮想環境を管理します
  • pip-tools は依存関係を管理します

Visual Studio Code の Dev Container が このロールの開発とテスト用に提供されています。

ライセンス

MIT

著者情報

ジョン・フリーマン

GantSign Ltd. 会社番号 06109112(イングランドで登録)

プロジェクトについて

Role for installing Apache Maven.

インストール
ansible-galaxy install gantsign.maven
ライセンス
mit
ダウンロード
304.7k
所有者