abessifi.java

Rôle Ansible Java

Description

Il s'agit d'un rôle Ansible pour installer Oracle/OpenJDK Java sur plusieurs systèmes GNU/Linux.

Systèmes pris en charge

  • Debian
  • Ubuntu
  • RedHat
  • CentOS
  • FreeBSD

Exigences

  • Ansible 1.9 ou supérieur (peut être facilement installé via pip. Par exemple : sudo pip install ansible==1.9.2)
  • Vagrant 1.7 ou supérieur
  • Le paquet sshpass qui est nécessaire à Ansible si vous utilisez l'authentification SSH par mot de passe. Sur Ubuntu/Debian : $ sudo apt-get install sshpass
  • Virtualbox
  • Outil Oh-my-box, optionnel, si vous souhaitez provisionner rapidement et emballer une base de boîte Vagrant avec Ansible et Ruby pré-installés.

Variables du rôle

Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut :

  • java_jdk_type - Le type de kit de développement Java doit être oracle ou openjdk (par défaut : 'openjdk')
  • java_version - La version de Java à installer (par défaut : '8')
  • java_package - Le nom du paquet Java JDK à installer (par défaut : Aucun)
  • java_set_as_default - Si vrai, cela définit la version Java actuellement installée comme version par défaut du système (par défaut : faux)
  • oracle_jdk_rpm_package - Le nom du paquet rpm à installer pour oracle jdk sur Redhat (par défaut : 'jdk-8u144-linux-x64.rpm')
  • oracle_jdk_rpm_url - L'URL de téléchargement du paquet rpm oracle jdk (par défaut : 'http://download.oracle.com/otn-pub/java/jdk/8u144-b01/jdk-8u144-linux-x64.rpm')
  • rpm_download_directory - Le chemin absolu vers un répertoire temporaire où le paquet sera téléchargé (par défaut : '/var/cache/yum/x86_64/7/extras/packages')

Balises disponibles

  • install-java - Balise par défaut pour effectuer l'installation du JDK Java.

Utilisation

Installer OpenJDK 8 (version par défaut openjdk)

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

Installer Oracle JDK 8 (version par défaut oracle jdk)

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

Installer OpenJDK 7 (sur Debian et le définir comme par défaut)

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

Installer Oracle JDK 7 (sur Redhat et le définir comme par défaut)

- 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

Développement et test

Tester avec Vagrant

Pour des tests rapides, vous pouvez créer une machine virtuelle Debian en utilisant Vagrant. Vous devrez peut-être adapter le Vagrantfile pour correspondre à votre environnement (adresses IP, etc.).

$ vagrant up

Exécuter des tests d'acceptation

Les tests d'acceptation/intégration peuvent être exécutés contre le rôle en utilisant l'outil magique test-kitchen. Tous les tests d'acceptation écrits se trouvent dans le répertoire ./test/integration/.

Le fichier .kitchen.yml décrit la configuration de test et la liste des suites de tests à exécuter. Par défaut, vos instances seront convergées avec Ansible et exécutées dans des machines virtuelles Vagrant.

Pour lister les instances :

$ kitchen list

Instance                            Driver   Provisioner      Verifier  Transport  Last Action
default-debian-8-x64                Vagrant  AnsiblePlaybook  Busser    Ssh        <Not Created>
override-java-version-debian-8-x64  Vagrant  AnsiblePlaybook  Busser    Ssh        <Not Created>
install-oracle-jdk-debian-8-x64     Vagrant  AnsiblePlaybook  Busser    Ssh        <Not Created>

Pour exécuter les tests avec la suite override-java-version sur une plateforme Debian 8, par exemple, exécutez la commande suivante :

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

Auteur

Ce rôle a été créé par Ahmed Bessifi, un passionné de DevOps.

À propos du projet

Java for GNU/Linux systems

Installer
ansible-galaxy install abessifi.java
Licence
mit
Téléchargements
351
Propriétaire
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.