gantsign.sdkman_init

Ansible角色:SDKMAN初始化

测试 Ansible Galaxy 许可证

这个角色用于初始化SDKMAN,一个软件开发工具包管理器。该角色允许你在Ansible配置中安装特定的SDK,并设置默认使用的版本。

重要: 此角色要求SDKMAN已经安装。你可以使用我们的gantsign.sdkman角色来安装SDKMAN。

要求

  • Ansible >= 2.9

  • Linux发行版

    • Debian家族

      • Debian

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

        • Bionic (18.04)
        • Focal (20.04)
    • RedHat家族

      • Rocky Linux

        • 8
      • Fedora

        • 35
    • SUSE家族

      • openSUSE

        • 15.3
    • 注意:其他版本可能可以使用,但未经过测试。

角色变量

以下变量会改变此角色的行为:

# SDKMAN为每个用户初始化,因此你必须至少指定一个用户
users:
  - username: # 要为其初始化SDKMAN的用户
    sdkman_install:
      - candidate: # 候选SDK名称,例如java
        version: # 要安装的候选版本
        path: # 可选,添加现有SDK安装到SDKMAN。
              # 现有SDK的`version`不能与SDKMAN提供的版本相同。
              # 版本字符串仅作为标识符,可以给它任何你喜欢的值(只要与此候选的其他版本不冲突)。
    sdkman_default:
      _candidate_sdk_name_here_: # 可选,默认版本

示例剧本

这是此角色单独使用的示例配置(不包括安装SDKMAN所需的角色)。

- hosts: servers
  roles:
    - role: gantsign.sdkman_init
      users:
        - username: example_username
          sdkman_install:
            - candidate: java
              version: '8.0.181-zulu'
            - candidate: java
              version: '10'
              path: '/opt/java/jdk-10.0.2'
            - candidate: maven
              version: '3.5.4'
          sdkman_default:
            java: '10'
            maven: '3.5.4'

这是一个完整的示例,它使用gantsign.sdkman角色来安装SDKMAN。注意gantsign.sdkman_init角色可以与Ansible标签多次使用,以有条件地安装特定的SDK。

- hosts: servers
  roles:
    - role: gantsign.sdkman
      sdkman_users:
        - example_username

    - role: gantsign.sdkman_init
      tags:
        - java
      users:
        - username: example_username
          sdkman_install:
            - candidate: java
              version: '8.0.181-zulu'
            - candidate: java
              version: '10'
              path: '/opt/java/jdk-10.0.2'
          sdkman_default:
            java: '10'

    - role: gantsign.sdkman_init
      tags:
        - java
        - maven
      users:
        - username: example_username
          sdkman_install:
            - candidate: maven
              version: '3.5.4'
          sdkman_default:
            maven: '3.5.4'

来自GantSign的更多角色

你可以在Ansible Galaxy上找到GantSign的更多角色。

开发与测试

该项目使用Molecule来帮助开发和测试;该角色使用Testinfrapytest进行单元测试。

要进行开发或测试,你需要安装以下内容:

由于以上内容的安装可能比较复杂,因此该项目包括Molecule Wrapper。Molecule Wrapper是一个shell脚本,用于安装Molecule及其依赖项(不包括Linux),然后使用你传递的命令执行Molecule。

要使用Molecule Wrapper测试此角色,请从项目根目录运行以下命令:

./moleculew test

注意:某些依赖项需要sudo权限才能安装。

许可证

Apache 2

作者信息

John Freeman

GantSign Ltd. 公司编号:06109112(在英格兰注册)

关于项目

Ansible role for initializing the SDKMAN software development kit manager.

安装
ansible-galaxy install gantsign.sdkman_init
许可证
apache-2.0
下载
4k
拥有者