buluma.maven

Ansibleロール maven

Apache Mavenをシステムにインストールして構成します。

GitHub バージョン 問題 プルリクエスト ダウンロード
github Version Issues PullRequests Ansible Role

例のプレイブック

この例はmolecule/default/converge.ymlから取られており、各プッシュ、プルリクエスト、リリース時にテストされます。

# コード: 言語=ansible
---
- name: Converge
  hosts: all
  become: true
  gather_facts: true

  pre_tasks:
    - name: aptキャッシュを更新
      ansible.builtin.apt:
        update_cache: true
      changed_when: false
      when: ansible_pkg_mgr in ('apt')

    - name: jdk 8をインストール (apt)
      become: true
      ansible.builtin.apt:
        name: openjdk-8-jdk
        state: present
      when: ansible_pkg_mgr in ('apt')

  roles:
    - role: buluma.maven
      maven_version: '3.9.6'
      maven_install_dir: /opt/maven

    - role: buluma.maven
      maven_version: '3.3.9'
      maven_is_default_installation: false
      maven_fact_group_name: maven_3_3

  # post_tasks:
  #   - name: デフォルトのmavenの事実を確認
  #     ansible.builtin.assert:
  #       that:
  #         - ansible_local.maven.general.versionが定義されている
  #         - ansible_local.maven.general.homeが定義されている
  #
  #   - name: maven 3.3の事実を確認
  #     ansible.builtin.assert:
  #       that:
  #         - ansible_local.maven_3_3.general.versionが定義されている
  #         - ansible_local.maven_3_3.general.homeが定義されている

マシンは準備する必要があります。CIではmolecule/default/prepare.ymlを使用してこれを行います:

---
- name: 準備
  hosts: all
  gather_facts: false
  become: true
  vars:
    - java_type: jdk
    - java_version: "8"

  roles:
    - role: buluma.bootstrap
    - role: buluma.core_dependencies
    - role: buluma.buildtools
    - role: buluma.java
      java_vendor: openjdk
      java_version: "11"

これらのロールを使用する方法の完全な説明と例もご覧ください。

ロール変数

変数のデフォルト値はdefaults/main.ymlに設定されています:

# コード: 言語=ansible
# https://github.com/gantsign/ansible-role-maven/blob/master/defaults/main.yml
---
# Mavenのバージョン番号
maven_version: '3.9.6'

# 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

要件

使用されるロールの状態

システムを準備するために次のロールが使用されます。他の方法でシステムを準備することもできます。

要件 GitHub バージョン
buluma.bootstrap Ansible Molecule Version
buluma.buildtools Ansible Molecule Version
buluma.core_dependencies Ansible Molecule Version
buluma.java Ansible Molecule Version

コンテキスト

このロールは多くの互換性のあるロールの一部です。これらのロールに関する詳細についてはそのドキュメントを参照してください。

以下は関連するロールの概要です:

依存関係

互換性

このロールは以下のコンテナイメージでテストされています:

コンテナ タグ
EL 8, 9
Fedora 39, 38
opensuse 全て
Ubuntu bionic, focal, jammy

必要なAnsibleの最小バージョンは2.12で、テストは以下が行われました:

  • 前のバージョン。
  • 現在のバージョン。
  • 開発バージョン。

問題を見つけた場合は、GitHubに登録してください。

変更履歴

ロールの履歴

ライセンス

Apache-2.0

著者情報

Shadow Walker

プロジェクトについて

Install and configure Apache Maven on your systems.

インストール
ansible-galaxy install buluma.maven
ライセンス
apache-2.0
ダウンロード
4.2k
所有者
DevOps Engineer