oracle-java

srsp.oracle-java для Ansible Galaxy

Статус сборки

Резюме

Имя роли в Ansible Galaxy: srsp.oracle-java

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

Эта роль основана на williamyeh.oracle-java, но я хотел более современные версии Java и решил прекратить поддержку старых версий.

Если вы предпочитаете OpenJDK, попробуйте geerlingguy.java.

Автоматическая загрузка с Oracle

Внимание: Ранее эта роль загружала все JDK непосредственно с сайта Oracle. Oracle постепенно закрыл эту возможность. Теперь вы не можете скачать ни одну версию JDK 8 без входа в Oracle. Для JDK 11 можно скачать только одну старую версию. JDK 13 можно скачать на данный момент.

Поскольку это изменение происходит каждый раз, когда Oracle выпускает новую версию Java, вам не следует на это полагаться. Я рекомендую загружать JDK вручную и устанавливать его с помощью этой роли.

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

Основное использование

Это попытается скачать JDK с Oracle и установить его.

- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    # Вы должны установить это:
    - java_version: 13
    # Это можно опустить (роль будет использовать последнюю известную версию):
    - java_subversion: 0.2

Примеры

Установка вручную загруженного JDK

Поместите загруженный файл JDK для вашей системы в директорию files и установите java_download_from на local:

- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    - java_version: 8
    - java_subversion: 201
    - java_download_from: local

Установка с вашего зеркала

- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    - java_version: 8
    - java_subversion: 172
    - java_download_from: mirror
    - java_mirror: "http://some.url/in/your/network/jdk-8u172-macosx-x64.dmg"

Загрузка JDK на локальную машину (предварительная загрузка)

Если вы просто хотите JDK на вашей локальной машине (например, для использования файлов для теста молекулы или для загрузки на корпоративное зеркало), вы можете использовать prefetch.yml в этой роли:

ansible-playbook prefetch.yml

Измените плейбук в соответствии с вашими потребностями.

Если запускать из командной строки

ansible-playbook --ask-become-pass playbook.yml

Дополнительные переменные

Параметры по умолчанию, которые можно настроить:

# Версия Java
java_version: 8

# Подверсия Java
java_subversion: 201

# Загружать ли Java непосредственно с Oracle
# - oracle: Загружать с сайта Oracle на лету.
# - mirror: Загружать из URL, определенного в 'java_mirror'.
# - local: Копировать из директории `files` роли или плейбука на управляющей машине.
java_download_from: oracle

# В зависимости от значения 'java_download_from' происходит следующее:
# - oracle: Вам не нужно устанавливать это. Оно автоматически заполняется ссылкой Oracle.
# - mirror: Вам нужно установить зеркало, из которого хотите загрузить. Необходимо указать полный URL, включая файл, как в примере ниже. Если вам также нужен JCE, нужно установить 'jce_zip_url'.
# - local: 'java_mirror' не используется, следовательно, значение игнорируется.
#java_mirror: "https://private-repo.com/java/jdk-8u172-macosx-x64.dmg"
java_mirror: "http://download.oracle.com/otn-pub/java"

# Удалять временно загруженные файлы?
java_remove_download: true

# Установить $JAVA_HOME?
java_set_java_home: true

# Установить JCE?
java_install_jce: false

Для других настраиваемых параметров, читайте файл tasks/set-role-variables.yml; например, чтобы увидеть поддерживаемые комбинации java_version/java_subversion.

Я хочу установить JDK, который вы еще не поддерживаете!

Не проблема! Вам нужно указать соответствующий номер сборки Java в переменных java_build и jdk_tarball_hash, кроме java_version и java_subversion, например:

# файл: playbook.yml
- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    - java_version: 8
    - java_subversion: 141
    - java_build: 15
    - jdk_tarball_hash: 336fa29ff2bb4ef291e347e091f7f4a7

Лицензия

Лицензируется под Apache License V2.0. Подробности см. в LICENCE файле.

Разработка

Тестирование

Тесты используют molecule. Поскольку для этой роли требуется JDK от Oracle, контейнеры тестирования molecule будут монтировать /tmp/java, чтобы JDK сохранялся на локальной машине и оставался доступным после уничтожения контейнера проверки. Вы также можете предварительно загрузить файл установки и поместить его в /tmp/java.

Это выполнит весь цикл тестирования против сценария по умолчанию:

molecule test

Если вы хотите работать с определенным дистрибутивом, используйте что-то вроде этого:

molecule converge --scenario-name opensuse15

Если вы хотите протестировать все, выполните:

molecule test --all

Это займет некоторое время.

О проекте

Oracle JDK 8 to 13 for CentOS/Fedora/Debian/Ubuntu/Suse/MacOSX

Установить
ansible-galaxy install srsp/ansible-oracle-java
Лицензия
apache-2.0
Загрузки
182330
Владелец
Doing software things @holisticon