java
java роль
Резюме
Эта роль Ansible имеет следующие возможности для:
OpenJDK
- Установка JRE, JDK
- Дополнительная возможность установки из openjdk-fallback, репозиториев, s3, веб, chocolatey, локального источника.
Oracle Java:
- Установка JRE, JDK, Server-JRE
- Дополнительная возможность установки из s3, веб, локального источника.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: использование любой версии этой роли подразумевает, что вы согласны с Лицензионным соглашением Oracle на бинарный код для Java SE.
SAPJVM
- Установка JDK
- Дополнительная возможность установки из sapjvm-fallback, s3, веб, локального источника.
ZULU
- Установка JDK
- Дополнительная возможность установки из zulu-fallback, s3, веб, локального источника, chocolatey.
Adoptium
- Установка JDK, JRE
- Дополнительная возможность установки из adoptium-fallback, репозиториев, веб, локального источника, s3, chocolatey.
SapMachine
- Установка JDK, JRE
- Дополнительная возможность установки из sapmachine-fallback, веб, локального источника, chocolatey (только последняя версия), s3.
Alibaba Dragonwell 8 JDK
- Установка JDK
- Alibaba Dragonwell 8 соответствует OpenJDK 8 и совместим со стандартом Java SE
- Только для платформы Linux/x86_64
- Дополнительная возможность установки из dragonwell8-fallback, веб, локального источника, s3.
Amazon Corretto
- Установка JDK 8 и 11
- Установка JRE 8 (только для Amazon Linux 2)
- Дополнительная возможность установки из fallback, веб, локального источника, s3.
Требования
- Версия Ansible для установки: 2.7
- Поддерживаемые версии OpenJDK:
- 8
- EL 6: репозитории, tarball
- EL 7: репозитории, tarball
- EL 8: репозитории, tarball
- Ubuntu bionic: репозитории, tarball
- Debian stretch: репозитории, tarball
- Windows: tarball
- 11
- EL 6: tarball
- EL 7: репозитории, tarball
- Ubuntu bionic: репозитории, tarball
- Debian stretch: tarball
- Windows: tarball
- 12
- EL 6: tarball
- EL 7: tarball
- EL 8: tarball
- Ubuntu bionic: tarball
- Debian stretch: tarball
- Windows: tarball
- 13
- EL 6: tarball, fallback
- EL 7: tarball, fallback
- EL 8: tarball, fallback
- Ubuntu bionic: tarball, fallback
- Debian stretch: tarball, fallback
- Windows: tarball, fallback
- 8
- Поддерживаемые версии Oracle Java:
- 7
- 8
- 11
- 12
- Поддерживаемые версии SAPJVM:
- 7
- 8
- Поддерживаемые версии ZULU:
- 8
- 11
- 17
- Поддерживаемые версии Adoptium:
- 8
- 11
- 12
- 13
- Поддерживаемые версии SapMachine:
- 11
- EL 7: fallback
- EL 8: fallback
- Ubuntu bionic: fallback
- Debian stretch: fallback
- Windows: chocolatey (только последняя версия, не поддерживает переменные java_minor_version), fallback
- 12
- EL 7: tarball
- EL 8: tarball
- Ubuntu bionic: tarball
- Debian stretch: tarball
- Windows: tarball
- 13
- EL 7: fallback
- EL 8: fallback
- Ubuntu bionic: fallback
- Debian stretch: fallback
- Windows: chocolatey (только последняя версия, не поддерживает переменные java_minor_version), fallback
- 11
- Поддерживаемые версии Alibaba Dragonwell:
- 8.0.0
- 8.1.1
- Поддерживаемые версии Amazon Corretto:
- 8
- 11
- Поддерживаемые ОС:
- Ubuntu
- bionic
- xenial
- trusty
- Debian
- stretch
- buster
- Amazon Linux
- Amazon Linux 2
- EL (RHEL/CentOS)
- 6
- 7
- 8
- Windows
- 10
- 2016
- 2019
- Ubuntu
Переменные роли
java_distribution
Тип дистрибутива Java, один из:openjdk
(по умолчанию)oracle_java
sapjvm
zulu
adoptium
sapmachine
dragonwell8
corretto
Внимание: эта переменная обязательна при установке другого дистрибутива, отличного от 'openjdk'.
java_package
Тип пакета Java.Доступные:
jdk
(по умолчанию)jre
transport
Источник транспорта артефакта. Используйтеfallback
(поддерживаются дистрибутивы OpenJDK, SAPJVM, Adoptium, SapMachine, ZULU, Alibaba Dragonwell, Amazon Corretto),repositories
(поддерживаются дистрибутивы OpenJDK, Adoptium, Amazon Corretto),local
,web
илиs3
в зависимости от ваших требований.Доступные:
repositories
Установка java из системных репозиториев (yum или apt, только для Linux)web
Получение артефакта из пользовательского веб-URLchocolatey
Специфический для Windows менеджер пакетов (Поддерживаемый OpenJDK: JDK 11, 12 или JRE 8, SapMachine, ZULU, Adoptium)local
Локальный артефакт, хранящийся на ansible master (может использоваться как кэш для другого транспорта)s3
Скачивание артефакта из корзины s3 (только для клиентов Linux, для Windows следует использовать другие транспорты)fallback
получение артефактов с официальных сайтов (доступно для дистрибутивов: openjdk, sapjvm, zulu, adoptium, sapmachine, dragonwell8, corretto).
Это значение по умолчанию для переменнойtransport
Внимание использование транспорта
s3
требует установки специфических пакетов на целевом хосте:- 'botocore'
- 'boto'
- 'boto3' Эти пакеты не включены в данную роль. Вам следует установить их предварительно.
java_tarball_install
- логический параметр для выбора между установкой из tarball и пакета. По умолчанию 'true', еслиtransport
неrepositories
.java_major_version
- основная версия OpenJDK (8, 11, 17) или oracle-java (6, 7, 8, 11 и т.д.) По умолчанию 12.java_minor_version
- младшая версия oracle-java. Для версии8.202
младшая версия будет202
(по умолчанию). Для OpenJDK эта переменная не требуется для ручной настройки.java_arch
Архитектура пакета. (При установке OpenJDK из репозиториев эта переменная может использоваться только для RHEL )Доступные:
x64
для x86_64 (по умолчанию)i586
для x86
java_path
Куда будет установлен пакет java. Внимание Не используйте эту переменную, если выбран транспорт = репозиториизначения по умолчанию зависят от дистрибутива ОС:
- RedHat:
/usr/java
(/usr/lib/jvm
из репозиториев) - Debian:
/usr/lib/jvm
- Windows:
C:\Program Files\Java
- RedHat:
java_download_path
: Локальная папка для загрузки артефактовПо умолчанию для Linux:
/tmp
По умолчанию для Windows:
Переменная среды TEMP
transport_web
URI для http/https артефакта, например "http://my-storage.com/jdk-8u172-linux-x64.tar.gz"transport_web: "https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz"
(например, OpenJDK 11)transport_local
Путь для локального артефакта, например "/tmp/jdk-8u172-linux-x64.tar.gz"transport_s3_bucket
- имя корзины s3по умолчанию:
s3_bucket
transport_s3_path
- путь к папке патча в корзинепо умолчанию:
/folder
transport_s3_aws_access_key
- aws ключ. Необходимо установить в качестве параметра или переменной окружения в соответствии с https://docs.ansible.com/ansible/latest/modules/aws_s3_module.htmlпо умолчанию:
{{ lookup('env','AWS_ACCESS_KEY') }}
transport_s3_aws_secret_key
- aws секретный ключ. Необходимо установить в качестве параметра или переменной окружения в соответствии с https://docs.ansible.com/ansible/latest/modules/aws_s3_module.htmlпо умолчанию:
{{ lookup('env','AWS_SECRET_KEY') }}
Настройка Adoptium
adoptium_impl
Реализация Adoptiumhotspot
(по умолчанию)openj9
Настройка путей исполняемых файлов
java_setup_path
- для включения настройки пути бинарных файлов. Еслиtrue
, бинарные файлы java добавляются в системные пути, профиль обновляется и устанавливаются альтернативы. Если установить наfalse
- никаких обновлений системных настроек не будет, кроме тех, что выполняются сценариями пакетов.
по умолчанию:true
Настройка приоритета альтернатив
java_alternative_priority
- настройка приоритета. Полезно, если вам нужно настроить низкий приоритет. по умолчанию: 100
Настройка неограниченной политики
java_unlimited_policy_enabled
- для применения неограниченной политикипо умолчанию:
false
java_unlimited_policy_transport
Транспорт источника артефакта. Используйтеfallback
,local
,web
илиs3
для более предсказуемого результата.
по умолчанию:fallback
Доступные:
web
Получение артефакта из пользовательского веб-URLlocal
Локальный артефакт, хранящийся на ansible masters3
артефакт в корзине s3
java_unlimited_policy_transport_web
URI для http/https артефакта, например "http://my-storage.com/jce_policy-8.zip"java_unlimited_policy_transport_local
Путь для локального артефакта, например "/tmp/jce_policy-8.zip"java_unlimited_policy_transport_s3_bucket
- имя корзины s3по умолчанию:
s3_bucket
java_unlimited_policy_transport_s3_path
- путь к папке патча в корзинепо умолчанию:
/folder
Примеры установки текущей роли
ansible-galaxy install lean_delivery.java
Пример плейбука
Установка OpenJDK 17 из openjdk-fallback (поведение роли по умолчанию):
- name: Установка openjdk java
hosts: all
roles:
- role: lean_delivery.java
java_major_version: 17
Установка OpenJDK 8 из репозиториев:
- name: Установка openjdk java
hosts: all
roles:
- role: lean_delivery.java
transport: repositories
java_major_version: 8
Установка OpenJDK 11 из веб:
- name: Установка openjdk java
hosts: all
roles:
- role: lean_delivery.java
java_major_version: 11
java_tarball_install: true
transport: web
transport_web: https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
Установка Oracle java 8 из локального файла:
- name: Установка oracle java
hosts: all
roles:
- role: lean_delivery.java
java_distribution: oracle_java
transport: local
transport_local: /tmp/jdk-8u181-linux-x64.tar.gz
Установка Oracle java 8 из корзины S3:
Перед установкой следует подготовить хост для использования модуля aws_s3 https://docs.ansible.com/ansible/latest/modules/aws_s3_module.html#requirements
- name: Установка java
hosts: all
roles:
- role: lean_delivery.java
java_distribution: oracle_java
java_package: jre
java_major_version: 8
transport: s3
transport_s3_bucket: java-s3-bucket
transport_s3_path: /java/jre-8u181-linux-x64.tar.gz
Установка OpenJDK 11.0.2 на Windows хосте с использованием win_chocolatey:
- name: Установка java
hosts: windows
roles:
- role: lean_delivery.java
java_package: jdk
transport: chocolatey
java_major_version: 11
java_minor_version: 0.2
Установка SAPJVM 8 из sapjvm-fallback:
- name: Установка sapjvm
hosts: all
roles:
- role: lean_delivery.java
java_distribution: sapjvm
transport: fallback
java_major_version: 8
Установка ZULU 17 из zulu-fallback:
- name: Установка zulu
hosts: all
roles:
- role: lean_delivery.java
java_distribution: zulu
transport: fallback
java_major_version: 17
java_package: jdk
Установка Adoptium 8-openj9-jre из adoptium-fallback:
- name: Установка Adoptium
hosts: all
roles:
- role: lean_delivery.java
java_distribution: adoptium
transport: fallback
java_package: jre
adoptium_impl: openj9
java_major_version: 8
Установка SapMachine sapmachine-jre-10 из sapmachine-fallback:
- name: Установка SapMachine
hosts: all
roles:
- role: lean_delivery.java
java_distribution: sapmachine
transport: fallback
java_package: jre
java_major_version: 10
Установка Alibaba Dragonwell 8 из dragonwell8-fallback:
- name: Установка Alibaba Dragonwell8
hosts: all
roles:
- role: lean_delivery.java
java_distribution: dragonwell8
transport: fallback
java_major_version: 8
Установка Amazon Corretto JDK 8 из corretto-fallback:
- name: Установка Amazon Corretto
hosts: all
roles:
- role: lean_delivery.java
java_distribution: corretto
transport: fallback
java_major_version: 8
Установка Amazon Corretto JDK 11 из репо на Amazon Linux 2:
- name: Установка Amazon Corretto
hosts: all
roles:
- role: lean_delivery.java
java_distribution: corretto
transport: repositories
java_major_version: 11
Установка Amazon Corretto JDK 11 на Ubuntu 18.04 из веб:
- name: Установка Amazon Corretto
hosts: all
roles:
- role: lean_delivery.java
java_distribution: corretto
transport: web
transport_web: https://d3pxv6yz143wms.cloudfront.net/11.0.5.10.1/amazon-corretto-11.0.5.10.1-linux-x64.tar.gz
Лицензия
Apache
Информация об авторе
авторы:
- Команда Lean Delivery team@lean-delivery.com
Lean Delivery Java install
ansible-galaxy install lean-delivery/ansible-role-java