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 ser oracle o openjdk (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.

Acerca del proyecto

Java for GNU/Linux systems

Instalar
ansible-galaxy install abessifi.java
Licencia
mit
Descargas
351
Propietario
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.