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 
sshpassque 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 seroracleoopenjdk(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