idealista.java_role

Logo

构建状态 Docker Hub 拉取次数

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

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(默认)

其他非 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 目录 以检查可能的测试平台。

构建工具

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
下载
58.1k
拥有者
We release serious projects apart from Ansible Roles.