sdkman

Ansible Роль: Comcast.sdkman

Роль Galaxy Загрузки Лицензия Apache 2.0 Статус сборки

Это роль Ansible, которая выполняет следующие функции:

  • Устанавливает SDKMAN
  • Устанавливает/удаляет программы, управляемые SDKMAN кандидаты
  • Устанавливает версии SDK по умолчанию
  • Управляет файлом конфигурации SDKMAN: /path/to/sdkman/etc/config
  • Очищает кэши SDKMAN

Предупреждение: Oracle делает установку своих JDK всё более сложной, что затрудняет возможность установки через SDKMAN. Рассмотрите возможность использования OpenJDK вместо этого или установку/управление JDK Oracle другими способами.

Требования

Нет.

Переменные роли

Смотрите defaults для описания каждой переменной, которую можно переопределить.

Зависимости

Нет.

Пример плейбука

Вот пример!

- hosts: servers
  roles:
    - role: Comcast.sdkman
      sdkman_user: vagrant
      sdkman_group: vagrant
      sdkman_auto_answer: true
      sdkman_update: true
      sdkman_uninstall_packages:
        - { candidate: groovy, version: 1.8.9 }
      sdkman_install_packages:
        - { candidate: java, version: 8.0.202-zulu }
        - { candidate: gradle, version: '3.5' }
        - { candidate: gradle, version: 2.14.1 }
        - { candidate: maven, version: 3.5.0 }
        - { candidate: maven, version: 3.3.9 }
        # Используйте этот синтаксис, если хотите, чтобы SDKMAN знал о пакетах, установленных *без* SDKMAN, например, JDK Oracle
        - { candidate: java, version: 1.8.0-oracle, localpath: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk }
      sdkman_defaults:
        gradle: '3.5'
        maven: 3.3.9
        java: 8.0.202-zulu
      sdkman_flush_caches_before:
        - temp
      sdkman_flush_caches_after:
        - archives
        - broadcast
        - candidates
        - temp
      sdkman_offline_mode: false
      sdkman_update_alternatives:
        - candidate: java
          name: java
          link: /usr/bin/java
        - candidate: java
          name: javac
          link: /usr/bin/javac

Дополнительные заметки

Если вы хотите пропустить любые шаги, которые требуют повышения привилегий (т.е. команд sudo), эта роль пометила такие задачи тегом sdkman_privilege. Передайте флаг --skip-tags в командной строке с этим тегом, чтобы пропустить шаги, которые уже могли быть выполнены вашим системным администратором (например, установка системных пакетов).

Тестирование этой роли с Alpine Linux было сложной задачей. Более новые сборки JDK (>-11), доступные через SDKMAN, несовместимы с Alpine. Вместо этого рекомендуется установить JDK/JRE через репозиторий пакетов apk. С учетом всего вышесказанного, я в настоящее время не уверен, как хорошо пакеты SDKMAN работают на Alpine. Ваш опыт может отличаться. Вы были предупреждены.

Лицензия

Apache 2.0

Информация об авторе

О проекте

An Ansible role that installs/manages SDKMAN

Установить
ansible-galaxy install Comcast/ansible-sdkman
Лицензия
apache-2.0
Загрузки
93400
Владелец
Comcast brings together the best in media and technology to create the world's best entertainment and online experiences