idealista.java_role
Java Ansible 角色
此 Ansible 角色在 Debian/Ubuntu 或 CentOS 环境 中安装来自不同供应商的 JDK(OpenJDK、AdoptOpenJDK 和 Corretto)。
入门
这些指令将帮助您在 Ansible playbook 中获取该角色的副本。
启动后,它将使用 Debian 或 RHEL 包安装 Java。
先决条件
要将此角色作为依赖项用于您的 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 Hub 找到用于 Debian Stretch 和 Buster、Ubuntu Xenial、Bionic 和 Focal,以及 CentOS 7 和 8 的标记 Docker 镜像。
使用 ansible-galaxy 命令安装该角色:
$ ansible-galaxy install -p roles -r requirements.yml -f
在 playbook 中使用:
---
- hosts: someserver
roles:
- java
使用
Docker Hub
我们在 Docker Hub 上发布每个角色版本的 Docker 镜像: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 (默认) |
其他非 GNU/Linux 发行版的 OpenJDK 实现不受官方支持,但通过添加额外的仓库使用该角色也很简单(请参见 AdoptOpenJDK/Temurin 和 Corretto 目录中的 vars/)。
将证书添加到 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)作为默认 Linux 发行版。
请查看 molecule 目录 以检查可能的测试平台。
构建工具
版本管理
要查看可用的版本,请参见 此存储库上的标签。
此外,您可以查看每个版本的更改,请参见 CHANGELOG.md 文件。
作者
- Idealista - 合作 - idealista
此外,也请查看参与此项目的 贡献者列表。
许可证
本项目根据 Apache 2.0 许可证授权 - 详细信息请参见 LICENSE 文件。
贡献
请参阅 CONTRIBUTING.md 了解我们的行为准则以及提交拉取请求的过程。