java_role

Логотип

Статус сборки Количество загрузок с Docker Hub

Роль 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

defaults/main.yml

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, чтобы проверить возможные платформы для тестирования.

Создано с помощью

Ansible
Molecule
Packer

Версии

Для доступных версий смотрите теги в этом репозитории.

Кроме того, вы можете увидеть изменения в каждой версии в файле CHANGELOG.md.

Авторы

Смотрите также список участников, которые участвовали в этом проекте.

Лицензия

Лицензия Apache 2.0

Этот проект лицензирован по лицензии 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
Лицензия
apache-2.0
Загрузки
56673
Владелец
We release serious projects apart from Ansible Roles.