• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

gantsign/ansible-role-maven: Ansible role for installing Apache Maven

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

gantsign/ansible-role-maven

开源软件地址(OpenSource Url):

https://github.com/gantsign/ansible-role-maven

开源编程语言(OpenSource Language):

Shell 87.3%

开源软件介绍(OpenSource Introduction):

Ansible Role: Maven

Tests Ansible Galaxy License

Role to install the Apache Maven build tool.

Requirements

  • Ansible >= 2.9

  • Linux Distribution

    • Debian Family

      • Debian

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

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

      • Rocky Linux

        • 8
      • Fedora

        • 34
    • SUSE Family

      • openSUSE

        • 15.2
    • Note: other versions are likely to work but have not been tested.

  • Java SE Development Kit (JDK)

    • The required JDK version is dependent on the Apache Maven version

      Maven Version Minimum JDK Version
      3.8.x 7
      3.6.x 7
      3.5.x 7
      3.3.x 7
      3.2.x 6
      3.1.x 5

Role Variables

The following variables will change the behavior of this role (default values are shown below):

# Maven version number
maven_version: '3.8.5'

# Mirror to download the Maven redistributable package from
maven_mirror: "http://archive.apache.org/dist/maven/maven-{{ maven_version|regex_replace('\\..*', '') }}/{{ maven_version }}/binaries"

# Base installation directory the Maven distribution
maven_install_dir: /opt/maven

# Directory to store files downloaded for Maven installation
maven_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"

# The number of seconds to wait before the Maven download times-out
maven_download_timeout: 10

# Whether to use the proxy when downloading Maven (if the proxy environment variable is present)
maven_use_proxy: yes

# Whether to validate HTTPS certificates when downloading Maven
maven_validate_certs: yes

# If this is the default installation, symbolic links to mvn and mvnDebug will
# be created in /usr/local/bin
maven_is_default_installation: yes

# Name of the group of Ansible facts relating this Maven installation.
#
# Override if you want use this role more than once to install multiple versions
# of Maven.
#
# e.g. maven_fact_group_name: maven_3_3
# would change the Maven home fact to:
# ansible_local.maven_3_2.general.home
maven_fact_group_name: maven

Supported Maven Versions

The following versions of Maven are supported without any additional configuration (for other versions follow the Advanced Configuration instructions):

  • 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

Advanced Configuration

The following role variable is dependent on the Maven version; to use a Maven version not pre-configured by this role you must configure the variable below:

# SHA256 sum for the redistributable package (i.e. apache-maven-{{ maven_version }}-bin.tar.gz)
maven_redis_sha256sum: '6e3e9c949ab4695a204f74038717aa7b2689b1be94875899ac1b3fe42800ff82'

Example Playbooks

By default this role will install the latest version of Maven supported by this role:

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

You can install a specific version of Maven by specifying the maven_version (note: if the version is not currently supported by this role then additional configuration will be required - see Advanced Configuration):

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

You can install the multiple versions of Maven by using this role more than once:

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

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

Role Facts

This role exports the following Ansible facts for use by other roles:

  • ansible_local.maven.general.version

    • e.g. 3.3.9
  • ansible_local.maven.general.home

    • e.g. /opt/maven/apache-maven-3.3.9

Overriding maven_fact_group_name will change the names of the facts e.g.:

maven_fact_group_name: maven_3_2

Would change the name of the facts to:

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

Related Roles

You may find the following related roles useful:

More Roles From GantSign

You can find more roles from GantSign on Ansible Galaxy.

Development & Testing

This project uses Molecule to aid in the development and testing; the role is unit tested using Testinfra and pytest.

To develop or test you'll need to have installed the following:

Because the above can be tricky to install, this project includes Molecule Wrapper. Molecule Wrapper is a shell script that installs Molecule and it's dependencies (apart from Linux) and then executes Molecule with the command you pass it.

To test this role using Molecule Wrapper run the following command from the project root:

./moleculew test

Note: some of the dependencies need sudo permission to install.

License

MIT

Author Information

John Freeman

GantSign Ltd. Company No. 06109112 (registered in England)




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap