lean_delivery.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_javasapjvmzuluadoptiumsapmachinedragonwell8correttoВнимание: эта переменная обязательна при установке другого дистрибутива, отличного от '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:
Переменная среды TEMPtransport_webURI для 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_buckettransport_s3_path- путь к папке патча в корзинепо умолчанию:
/foldertransport_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- для применения неограниченной политикипо умолчанию:
falsejava_unlimited_policy_transportТранспорт источника артефакта. Используйтеfallback,local,webилиs3для более предсказуемого результата.
по умолчанию:fallbackДоступные:
webПолучение артефакта из пользовательского веб-URLlocalЛокальный артефакт, хранящийся на ansible masters3артефакт в корзине s3
java_unlimited_policy_transport_webURI для 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_bucketjava_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.java