lean_delivery.java

java角色

许可证 构建状态 Galaxy Ansible Ansible

概述

此Ansible角色具有以下功能:

OpenJDK

  • 安装JRE、JDK
  • 可以从openjdk-fallback、repo、s3、网络、chocolatey、本地源安装。

Oracle Java:

  • 安装JRE、JDK、Server-JRE
  • 可以从s3、网络、本地源安装。

免责声明: 使用任何版本的此角色意味着您已接受 Oracle二进制代码许可证协议

SAPJVM

  • 安装JDK
  • 可以从sapjvm-fallback、s3、网络、本地源安装。

ZULU

  • 安装JDK
  • 可以从zulu-fallback、s3、网络、本地源、chocolatey安装。

Adoptium

  • 安装JDK、JRE
  • 可以从adoptium-fallback、repo、网络、本地源、s3、chocolatey安装。

SapMachine

  • 安装JDK、JRE
  • 可以从sapmachine-fallback、网络、本地源、chocolatey(仅最新版本)、s3安装。

阿里巴巴Dragonwell 8 JDK

  • 安装JDK
  • 阿里巴巴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: repo、tarball
      • EL 7: repo、tarball
      • EL 8: repo、tarball
      • Ubuntu bionic: repo、tarball
      • Debian stretch: repo、tarball
      • Windows: tarball
    • 11
      • EL 6: tarball
      • EL 7: repo、tarball
      • Ubuntu bionic: repo、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
  • 支持的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
  • 支持的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

角色变量

  • java_distribution Java发行版类型,可以是:

    • openjdk(默认)

    • oracle_java

    • sapjvm

    • zulu

    • adoptium

    • sapmachine

    • dragonwell8

    • corretto

      注意: 如果安装其他版本而不是'openjdk',此变量为必需。

  • java_package Java包类型。

    可选:

    • jdk(默认)
    • jre
  • transport 工件源传输方式。根据需求选择fallback(支持的OpenJDK、SAPJVM、Adoptium、SapMachine、ZULU、Alibaba Dragonwell、Amazon Corretto),repositories(支持的OpenJDK、Adoptium、Amazon Corretto),localwebs3

    可选:

    • repositories 从系统存储库(yum或apt,Linux专用)安装Java

    • web 从自定义网络URL获取工件

    • chocolatey Windows特定的包管理器(支持的OpenJDK: JDK 11、12或JRE 8、SapMachine、ZULU、Adoptium)

    • local 存储在ansible主机上的本地工件(可用作其他传输的缓存)

    • s3 从s3桶下载工件(仅Linux客户端,对于Windows,请使用其他传输方式)

    • fallback 从官方网站获取工件(适用于分发:openjdk、sapjvm、zulu、adoptium、sapmachine、dragonwell8、corretto)。
      这是transport变量的默认

      注意: 使用s3传输需要在目标主机上安装特定的包:

      • 'botocore'
      • 'boto'
      • 'boto3' 这些包不包含在给定角色中,您需要预先安装它们。
  • java_tarball_install - 布尔参数,用于选择tarball或包安装。如果transport不是repositories,默认值为true

  • 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包将安装的位置。 注意: 如果选择了transport = repositories,请勿使用此变量。

    默认值取决于操作系统的发行版:

    • RedHat: /usr/java(来自repo的/usr/lib/jvm
    • Debian: /usr/lib/jvm
    • Windows: C:\Program Files\Java
  • java_download_path: 用于下载工件的本地文件夹

    Linux默认: /tmp

    Windows默认: TEMP环境变量

  • transport_web URI,用于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_bucket

  • transport_s3_path - 桶中补丁文件夹的路径

    默认: /folder

  • transport_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 Adoptium实现
    • hotspot(默认)
    • openj9

配置可执行路径

  • java_setup_path - 启用二进制路径设置。如果设置为true,则将Java二进制文件添加到系统路径,更新配置文件并设置替代方案。如果设置为false,则除了通过包场景进行的操作外,不会进行系统设置更新。
    默认: true

配置替代方案优先级

  • java_alternative_priority - 优先级配置。如果需要低优先级设置则有用。 默认: 100

配置无限制策略

  • java_unlimited_policy_enabled - 应用无限制策略

    默认: false

  • java_unlimited_policy_transport 工件源传输方式。使用fallbacklocalwebs3以获得更可预测的结果。
    默认: fallback

    可选:

    • web 从自定义网络URL获取工件
    • local 存储在ansible主机上的本地工件
    • s3 存储在s3桶中的工件
  • java_unlimited_policy_transport_web URI,用于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_bucket

  • java_unlimited_policy_transport_s3_path - 桶中补丁文件夹的路径

    默认: /folder

当前角色安装的一些示例

ansible-galaxy install lean_delivery.java

示例Playbook

从openjdk-fallback安装OpenJDK 17(默认角色行为):

- name: 安装openjdk java
  hosts: all

  roles:
    - role: lean_delivery.java
      java_major_version: 17

从repo安装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

从S3桶安装Oracle java 8:

在安装之前,您应该准备主机以使用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

在Windows主机上使用win_chocolatey安装OpenJDK 11.0.2:

- name: 安装java
  hosts: windows

  roles:
    - role: lean_delivery.java
      java_package: jdk
      transport: chocolatey
      java_major_version: 11
      java_minor_version: 0.2

从sapjvm-fallback安装SAPJVM 8:

- name: 安装sapjvm
  hosts: all

  roles:
    - role: lean_delivery.java
      java_distribution: sapjvm
      transport: fallback
      java_major_version: 8

从zulu-fallback安装ZULU 17:

- name: 安装zulu
  hosts: all

  roles:
    - role: lean_delivery.java
      java_distribution: zulu
      transport: fallback
      java_major_version: 17
      java_package: jdk

从adoptium-fallback安装Adoptium 8-openj9-jre:

- 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-fallback安装SapMachine sapmachine-jre-10:

- name: 安装SapMachine
  hosts: all

  roles:
    - role: lean_delivery.java
      java_distribution: sapmachine
      transport: fallback
      java_package: jre
      java_major_version: 10

从dragonwell8-fallback安装Alibaba Dragonwell 8:

- name: 安装Alibaba Dragonwell8
  hosts: all

  roles:
    - role: lean_delivery.java
      java_distribution: dragonwell8
      transport: fallback
      java_major_version: 8

从corretto-fallback安装Amazon Corretto JDK 8:

- name: 安装Amazon Corretto
  hosts: all

  roles:
    - role: lean_delivery.java
      java_distribution: corretto
      transport: fallback
      java_major_version: 8

从repo在Amazon Linux 2上安装Amazon Corretto JDK 11:

- name: 安装Amazon Corretto
  hosts: all

  roles:
    - role: lean_delivery.java
      java_distribution: corretto
      transport: repositories
      java_major_version: 11

在Ubuntu 18.04中通过网络安装Amazon Corretto JDK 11:

- 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

作者信息

作者:

安装
ansible-galaxy install lean_delivery.java
许可证
apache-2.0
下载
635.6k
拥有者
Simplify by using!