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 êtreoracle
ouopenjdk
(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.
ansible-galaxy install abessifi.java