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 工具,可选,使用该工具可以快速配置和打包一个预安装了 Ansible 和 Ruby 的 Vagrant 基础镜像。
角色变量
可用的变量如下,包含默认值:
java_jdk_type
- Java 开发工具包类型,可以是oracle
或openjdk
(默认:'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 爱好者。
安装
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.