abessifi.java
Rol de Ansible para Java
Descripción
Esta es una rol de Ansible para instalar Java Oracle/OpenJDK en varios sistemas GNU/Linux.
Sistemas Soportados
- Debian
- Ubuntu
- RedHat
- CentOS
- FreeBSD
Requisitos
- Ansible 1.9 o superior (se puede instalar fácilmente a través de
pip
. Ej:sudo pip install ansible==1.9.2
) - Vagrant 1.7 o superior
- Paquete
sshpass
que es necesario para Ansible si usas autenticación SSH por contraseña. En Ubuntu/Debian:$ sudo apt-get install sshpass
- Virtualbox
- Herramienta Oh-my-box, opcional, si deseas provisionar y empaquetar rápidamente una base de Vagrant con Ansible y Ruby preinstalados.
Variables del Rol
Las variables disponibles se enumeran a continuación, junto con sus valores predeterminados:
java_jdk_type
- El tipo de Kit de Desarrollo de Java debe seroracle
oopenjdk
(predeterminado: 'openjdk')java_version
- La versión de Java a instalar (predeterminado: '8')java_package
- Nombre del paquete de Java JDK a instalar (predeterminado: Ninguno)java_set_as_default
- Si es verdadero, establece la versión de Java instalada como versión predeterminada del sistema (predeterminado: falso)oracle_jdk_rpm_package
- Nombre del paquete rpm para instalar oracle jdk en Redhat (predeterminado: 'jdk-8u144-linux-x64.rpm')oracle_jdk_rpm_url
- URL de descarga del paquete rpm de oracle jdk (predeterminado: 'http://download.oracle.com/otn-pub/java/jdk/8u144-b01/jdk-8u144-linux-x64.rpm')rpm_download_directory
- Ruta absoluta a un directorio temporal donde se descargará el paquete (predeterminado: '/var/cache/yum/x86_64/7/extras/packages')
Etiquetas Disponibles
install-java
- Etiqueta predeterminada para realizar la instalación de Java JDK.
Uso
Instalar OpenJDK 8 (versión predeterminada openjdk)
- hosts: localhost
sudo: yes
roles:
- ansible-java
Instalar Oracle JDK 8 (versión predeterminada oracle jdk)
- hosts: localhost
sudo: yes
roles:
- { role: ansible-java, java_jdk_type: 'oracle' }
Instalar OpenJDK 7 (en Debian y establecerlo como predeterminado)
- hosts: localhost
sudo: yes
roles:
- role: ansible-java
java_version: 7
java_package: 'openjdk-7-jdk'
java_set_as_default: true
Instalar Oracle JDK 7 (en Redhat y establecerlo como predeterminado)
- 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
Desarrollo y Pruebas
Probar con Vagrant
Para pruebas rápidas, puedes crear una máquina virtual Debian usando Vagrant. Es posible que necesites adaptar el Vagrantfile para que se ajuste a tu entorno (direcciones IP, etc.).
$ vagrant up
Ejecutar pruebas de aceptación
Se pueden ejecutar pruebas de aceptación/integración contra el rol usando la herramienta mágica test-kitchen
. Todas las pruebas de aceptación escritas están en el directorio ./test/integration/.
El archivo .kitchen.yml
describe la configuración de las pruebas y la lista de suites de pruebas a ejecutar. Por defecto, tus instancias se convergerán con Ansible y se ejecutarán en máquinas virtuales Vagrant.
Para listar las instancias:
$ kitchen list
Instance Driver Provisioner Verifier Transport Last Action
default-debian-8-x64 Vagrant AnsiblePlaybook Busser Ssh <No Creado>
override-java-version-debian-8-x64 Vagrant AnsiblePlaybook Busser Ssh <No Creado>
install-oracle-jdk-debian-8-x64 Vagrant AnsiblePlaybook Busser Ssh <No Creado>
Para ejecutar las pruebas con la suite override-java-version en una plataforma Debian 8, por ejemplo, ejecuta lo siguiente:
$ kitchen test override-java-version-debian-8-x64
Autor
Este rol fue creado por Ahmed Bessifi, un entusiasta de DevOps.
ansible-galaxy install abessifi.java