abessifi.java

Ansible Java 角色

描述

这是一个用于在多种 GNU/Linux 系统上安装 Oracle/OpenJDK Java 的 Ansible 角色。

支持的系统

  • Debian
  • Ubuntu
  • RedHat
  • CentOS
  • FreeBSD

要求

  • Ansible 1.9 或更高版本(可以通过 pip 轻松安装。例如:sudo pip install ansible==1.9.2
  • Vagrant 1.7 或更高版本
  • sshpass 包,如果使用密码进行 SSH 认证,Ansible 将需要这个包。在 Ubuntu/Debian 上安装:$ sudo apt-get install sshpass
  • Virtualbox
  • Oh-my-box 工具,可选,使用该工具可以快速配置和打包一个预安装了 AnsibleRuby 的 Vagrant 基础镜像。

角色变量

可用的变量如下,包含默认值:

  • java_jdk_type - Java 开发工具包类型,可以是 oracleopenjdk (默认:'openjdk')
  • java_version - 要安装的 Java 版本(默认:'8')
  • java_package - 要安装的 Java JDK 包名(默认:无)
  • java_set_as_default - 如果为 true,则将当前安装的 Java 设置为系统默认版本(默认:false)
  • oracle_jdk_rpm_package - 在 Redhat 上安装 Oracle JDK 的 rpm 包名(默认:'jdk-8u144-linux-x64.rpm')
  • oracle_jdk_rpm_url - Oracle JDK rpm 包的下载链接(默认:'http://download.oracle.com/otn-pub/java/jdk/8u144-b01/jdk-8u144-linux-x64.rpm')
  • rpm_download_directory - 下载包的临时目录的绝对路径(默认:'/var/cache/yum/x86_64/7/extras/packages')

可用标签

  • install-java - 默认标签,用于执行 Java JDK 安装。

使用方法

安装 OpenJDK 8(默认使用 openjdk 版本)

- hosts: localhost
  sudo: yes
  roles:
    - ansible-java

安装 Oracle JDK 8(默认使用 oracle jdk 版本)

- hosts: localhost
  sudo: yes
  roles:
    - { role: ansible-java, java_jdk_type: 'oracle' }

安装 OpenJDK 7(在 Debian 上并设置为默认)

- hosts: localhost
  sudo: yes
  roles:
    - role: ansible-java
      java_version: 7
      java_package: 'openjdk-7-jdk'
      java_set_as_default: true

安装 Oracle JDK 7(在 Redhat 上并设置为默认)

- hosts: localhost
  sudo: yes
  roles:
    - role: ansible-java
      java_jdk_type: 'oracle'
      java_version: 7
      oracle_jdk_rpm_package: 'jdk-7u79-linux-x64.rpm'
      oracle_jdk_rpm_url: 'http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm'
      java_set_as_default: true

开发与测试

使用 Vagrant 测试

为了快速测试,您可以使用 Vagrant 启动一个 Debian 虚拟机。您可能需要调整 Vagrantfile 以适应您的环境(IP 地址等)。

$ vagrant up

运行验收测试

可以使用神奇的 test-kitchen 工具对角色运行验收/集成测试。所有编写的验收测试都在 ./test/integration/ 目录中。

.kitchen.yml 文件描述了测试配置和待运行的测试套件列表。默认情况下,您的实例将在 Vagrant 虚拟机中通过 Ansible 进行设置。

列出实例:

$ kitchen list
实例                                    驱动程序   提供者        验证器  传输方式  上次操作
default-debian-8-x64                    Vagrant  AnsiblePlaybook  Busser    Ssh      <未创建>
override-java-version-debian-8-x64      Vagrant  AnsiblePlaybook  Busser    Ssh      <未创建>
install-oracle-jdk-debian-8-x64         Vagrant  AnsiblePlaybook  Busser    Ssh      <未创建>

例如,要在 Debian 8 平台上运行 override-java-version 测试套件,可以运行以下命令:

$ kitchen test override-java-version-debian-8-x64

贡献者

该角色由 Ahmed Bessifi 创建,他是一位 DevOps 爱好者。

关于项目

Java for GNU/Linux systems

安装
ansible-galaxy install abessifi.java
许可证
mit
下载
351
拥有者
I’m a tech enthusiast who breathes code and loves creating beautiful software. I’m an active contributor to opensource projects and maintain a few of my own.