java_role
Роль Ansible для Java
Эта роль Ansible устанавливает JDK от различных поставщиков (OpenJDK, AdoptOpenJDK и Corretto) в средах Debian/Ubuntu или CentOS.
Начало работы
Эти инструкции помогут вам получить копию роли для вашего Ansible playbook.
После запуска роль установит Java, используя пакеты Debian или RHEL.
Предварительные условия
Чтобы использовать эту роль в своем playbook, необходимо выполнить следующие предварительные условия:
Установлена версия Ansible >=2.9.0. Целевое окружение должно быть Debian/Ubuntu или CentOS.
Для тестирования вам понадобится Python 3.7+, Pipenv.
Установка
Создайте или добавьте в файл зависимостей вашей роли (например, requirements.yml):
- src: http://github.com/idealista/java_role.git
scm: git
version: 7.0.0
name: java
или используйте Ansible Galaxy в качестве источника, если вам так удобнее:
- src: idealista.java_role
version: 7.0.0
name: java
Кроме того, вы можете найти помеченные образы Docker для Debian Stretch и Buster, Ubuntu Xenial, Bionic и Focal, а также CentOS 7 и 8 на Docker Hub.
Установите роль с помощью команды ansible-galaxy:
$ ansible-galaxy install -p roles -r requirements.yml -f
Используйте в playbook:
---
- hosts: someserver
roles:
- java
Использование
Docker Hub
Мы публикуем каждую версию роли в виде образа Docker на Docker Hub: https://hub.docker.com/r/idealista/jdk.
Вы можете загрузить наши образы, выполнив:
docker pull idealista/jdk:${JDK_VERSION}-${DOCKER_IMAGE_BASE}-${JDK_VENDOR}headless)
JDK_VERSION:
Предпочитаемая версия JDK.DOCKER_IMAGE_BASE:
В данный момент поддерживаются: stretch
/buster/bullseye
для выбора между версиями Debian, xenial
/bionic
/focal
для выбора между версиями Ubuntu и 7
/8
для выбора версии CentOS.JDK_VENDOR:
В данный момент поддерживаются openjdk
/ adoptopenjdk
/corretto
Например:
docker pull idealista/jdk:8u191-xenial-openjdk-headless
Список версий (тегов) можно просмотреть на Docker Hub
Ansible
OpenJDK
Необходимо выбрать конкретную версию OpenJDK, переопределив переменную java_open_jdk_version_major
с помощью групповых переменных/переменных хоста:
Операционная система | Основной релиз OpenJDK |
---|---|
Debian Stretch | 8 (по умолчанию) |
Debian Stretch | 11 |
Debian Buster | 11 (по умолчанию) |
Debian Bullseye | 17 |
Debian Bullseye | 11 (по умолчанию) |
Debian Bookworm | 17 |
Debian Bookworm | 17 (по умолчанию) |
Ubuntu Xenial | 8 |
Ubuntu Xenial | 9 (по умолчанию) |
Ubuntu Bionic | 8 |
Ubuntu Bionic | 11 (по умолчанию) |
Ubuntu Focal | 8 |
Ubuntu Focal | 11 |
Ubuntu Focal | 17 (по умолчанию) |
Ubuntu Jammy | 11 |
Ubuntu Jammy | 17 (по умолчанию) |
CentOS 7 | 1.6.0 |
CentOS 7 | 1.7.0 |
CentOS 7 | 1.8.0 |
CentOS 7 | 11 (по умолчанию) |
CentOS 8 | 1.8.0 |
CentOS 8 | 11 (по умолчанию) |
Другие реализации OpenJDK, отличные от дистрибутивов GNU/Linux, не поддерживаются официально, но эту роль можно использовать также, добавляя дополнительные репозитории (см. vars/ в каталогах AdoptOpenJDK/Temurin и Corretto).
Добавление сертификатов в хранилище доверия Java
Эта роль поддерживает добавление сертификатов в хранилище доверия Java. Местоположение хранилища доверия может меняться в зависимости от версии Java:
- Местоположение хранилища доверия для Java 9 и выше: $JAVA_HOME/lib/security/cacerts
- Местоположение хранилища доверия для Java до 9: $JAVA_HOME/jre/lib/security/cacerts
Конкретное местоположение хранилища доверия должно быть выбрано путем переопределения переменной java_keystore_dir
с помощью групповых переменных/переменных хоста. Кроме того, вы должны указать, какие сертификаты вы хотите добавить, установив переменную java_certs
, и пароль для хранилища доверия, установив java_cert_keystore_pass
.
Тестирование
$ pipenv sync
$ DOCKER_IMAGE_BASE=(debian:stretch-slim|debian:buster-slim|debian_bullseye-slim|amd64/ubuntu:xenial|amd64/ubuntu:bionic|amd64/ubuntu:focal|centos:7|centos:8) JDK_VENDOR=(`java_jdk_version` openjdk|adoptopenjdk|corretto) JDK_MAJOR=(`java_open_jdk_version_major` см. файл [.travis.yml](.travis.yml) для проверки поддерживаемых версий) JDK_VERSION=(`java_open_jdk_version` см. файл [.travis.yml](.travis.yml) для проверки поддерживаемых версий) pipenv run molecule test
Примечание: JDK_VENDOR является необязательным параметром, если он не определен, эта роль будет использовать openjdk.
Примечание: JDK_VERSION является необязательным параметром, если он не определен, эта роль установит последнюю доступную версию для выбранного основного релиза Java.
Примечание: по умолчанию будет использоваться debian9 (Debian Stretch), если ничего не указано.
Смотрите каталог molecule, чтобы проверить возможные платформы для тестирования.
Создано с помощью
Версии
Для доступных версий смотрите теги в этом репозитории.
Кроме того, вы можете увидеть изменения в каждой версии в файле CHANGELOG.md.
Авторы
- Idealista - Работа с - idealista
Смотрите также список участников, которые участвовали в этом проекте.
Лицензия
Этот проект лицензирован по лицензии Apache 2.0 - см. файл LICENSE для подробностей.
Участие
Пожалуйста, прочтите CONTRIBUTING.md для получения подробностей о нашем коде поведения и процессе подачи запросов на изменения.
Java role, installs JDKs from different vendors (OpenJDK, AdoptOpenJDK and Corretto) and sets system defaults
ansible-galaxy install idealista/java-role