gilcot.ojdk

Open Java Development Kit

Ce rôle est destiné à gérer le Kit de développement Java Open (OpenJDK) sur la plupart des systèmes d'exploitation.

OpenJDK est une implémentation gratuite et open-source de la plateforme Java, Édition Standard (J2SE), définie par le Processus de la communauté Java (JCP). Il est sous la Licence Publique Générale GNU version 2 avec exception de liaison et inclut : la machine virtuelle HotSpot (JVM) et javac (compilateur officiel de Sun, pas ECJ, GCJ, Jikes, etc.)

Étant donné qu'il s'agit d'une référence, il fournit un dénominateur commun attendu (les autres implémentations peuvent ajouter des classes ou pas seulement J2SE...) Il y a donc quelques différences mineures avec Oracle JDK et aussi dans le modèle de publication et le support payant.

Démarrage

Cette section traite des réglages initiaux pour faire fonctionner le rôle.

Exigences

Ce rôle ne dépend d'aucun autre rôle.

Ce rôle utilise le gestionnaire de paquets natif de la distribution et les dépôts configurés.

Ce rôle fonctionne pour les distributions pour lesquelles il y a une version construite (voir, par exemple, https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms pour une liste presque complète et à jour). Notez également que les versions disponibles peuvent varier selon la version majeure de votre distribution, et la numérotation diffère également.

v6 v7 v8 v9 v10 v11 v12 version de la distribution
7 8 Alpine 3.3 / 3.4 / 3.5 / 3.6 / 3.7 / 3.8 / 3.9
7 8 9 Alpine edge
1.6.0 1.7.0 1.8.0 ALT Linux Sisyphus
7 8 10 Arch Linux
1.6.0 1.7.0 1.8.0 CentOS 6
1.6.0 1.7.0 1.8.0 11 CentOS 7
6 7 Debian 7 (Wheezy)
7 Debian 8 (Jessie)
8 Debian 9 (Stretch)
8 11 Debian 10 (Buster)
8 11 12 Debian Sid
1.8.0 9 11 ... Fedora 27 / 28
1.8.0 ... 11 ... Fedora 29 / Rawhide
(port) (+port) 8 (+port) FreeBSD 10
(port) (+port) 8 (+port) 11 FreeBSD 11 / 12
1.7.0 Mageia 4.1
1.8.0 Mageia 5.1 / 6.1 / Caudron
7 8 NetBSD 7.0 / 7.1 / 7.2
8 NetBSD 8.0
1.7.0 1.8.0 9 10 11 12 OpenMandriva Cooker
1.6.0 1.7.0 OpenMandriva Lx 2013.0
1.6.0 1.7.0 1.8.0 OpenMandriva Lx 2014.2
1.7.0 1.8.0 OpenMandriva Lx 3.0
1_8_0 10 11 openSUSE Leap 15.0
1_7_0 1_8_0 openSUSE Leap 42.3
1_8_0 9 10 11 openSUSE Tumbleweed
1.6.0 ROSA 2012.1 / Entreprise Desktop
1.7.0 ROSA 2014.1
1.8.0 ROSA 2016.1
(7-)7 8 Slackware 14.1/14.0/13.37/Current
6-6 (7-)7 (8-)8 9-9 Slackware 14.2
6 7 Ubuntu 14.04 LTS (Trusty Thar)
8 9 Ubuntu 16.04 LTS (Xenial Xerus)
8 11 Ubuntu 18.04 LTS (Bionic Beaver) / 18.10 (Cosmic Cuttlefish)

Installation

Créez ou ajoutez ces lignes à votre fichier de dépendance des rôles :

- src: http://github.com/gilcot/ansible-ojdk.git
  scm: git
  version: 1.0.0
  name: openjdk
- src: gilcot.openjdk
  version: 1.0.0
  name: openjdk

En utilisant ce fichier, installez le rôle sur votre hôte de contrôle :

# $roles est le chemin du dossier des rôles, si vous n'utilisez pas la valeur par défaut
# $specs est le fichier de besoins créé précédemment
# dernière option pour forcer la substitution, utile pour s'assurer du changement de version
ansible-galaxy install -p $roles -r $specs -f

Utilisation

Cette section concerne l'intégration du rôle dans vos playbooks.

Variables

Ce rôle utilise très peu de variables :

ojdk_version

C'est la version du JDK à installer.
Attention, ce n'est ni la version du paquet ni le numéro dans le nom du paquet ! Voir tableau ci-dessus
Cette valeur est obligatoire et doit être un entier.

ojdk_state

C'est l'état souhaité ; et donc c'est obligatoire. Il peut être :

  • present pour installer le paquet s'il n'est pas déjà installé,
  • absent pour supprimer le paquet s'il est encore présent,
  • toutes les autres valeurs acceptées par le module sous-jacent (par exemple, latest pour mettre à jour le paquet à la dernière version disponible.)

ojdk_gpg_uncheck

C'est un booléen (no/false ou yes/true) utilisé avec certains gestionnaires de paquets pour désactiver la vérification des signatures/certificats. Cela peut être utile de désactiver cette vérification dans certains cas rares.

ojdk_repository

Ceci est utilisé par quelques gestionnaires de paquets, pour définir un dépôt supplémentaire. Ce format de chaîne (URL ou chemin) et son utilisation dépendent du système d'exploitation.

distribution obligatoire utilisé pour
AIX chemin avec des paquets AIX (requise pour l'installation)
Basé sur Debian URL vers un dépôt alternatif où trouver la version OpenJDK souhaitée
FreeBSD remplacer le répertoire source par défaut (le paquet est construit à partir du source car aucun binaire n'est disponible par défaut)
HP-UX le dépôt à partir duquel installer ou mettre à jour le paquet
Mac OSX le chemin absolu vers le fichier du paquet
OpenBSD remplacer le répertoire source par défaut (le paquet est construit à partir du source car aucun binaire n'est disponible par défaut)
Basé sur Red Hat URL vers un dépôt alternatif où trouver la version OpenJDK souhaitée
Solaris emplacement pour installer le paquet (doit être un chemin acceptable pour pkgadd ou un chemin de dépôt valide avec définition trouvée dans /etc/opt/csw/pkgutil.conf)
Windows soit le chemin absolu vers le fichier du paquet, soit une URL alternative vers un flux Chocolatey ou un chemin vers un dossier contenant des fichiers .nupkg

Notez que pour certaines distributions, comme CentOS et Ubuntu, il peut être utile d'ajouter le dépôt (soit manuellement soit via une tâche précédente) avant d'appeler ce rôle. Ce paramètre fait très peu de réglages.

Conditions

Comme il ajoute ou supprime des paquets du système, des privilèges d'escalade sont utilisés et vous devez appeler le rôle en conséquence.

Ce rôle utilise également les faits de la famille d'OS et de la distribution (nom et version majeure). Ainsi, soit autorisez la collecte des faits, soit fournissez-les d'une manière ou d'une autre.

Exemples

Maintenant, vous êtes prêt à l'utiliser dans vos playbooks.
Soyez simplement conscient que les opérations doivent être effectuées en tant qu'utilisateur root (c'est pourquoi l'escalade des privilèges est utilisée dans les exemples suivants).

Pour installer (état par défaut) JDK12 sur mon groupe de servlets :

- hosts: servlets
  become: yes
  gather_facts: yes
  roles:
    - { role: openjdk, ojdk_version: 12 }

Pour supprimer JDK5 (exemple à des fins, car cela n'existe pas) sur un hôte fictif :

- hosts: dummy
  become: yes
  gather_facts: yes
  roles:
    - { role: openjdk, ojdk_version: 5, ojdk_state: absent }

(le même, en utilisant la syntaxe YAML pure)

- hosts: dummy
  become: yes
  gather_facts: yes
  roles:
    - role: openjdk
      ojdk_version: 5
      ojdk_state: absent

OK, maintenant, si votre inventaire de contrôleur est comme :

[dummies]
dummy

[olders]
foo
bar

[newers]
baz
qix

[servlets:children]
olders
newers

[dummies:vars]
ojdk_version = 5
ojdk_state = absent

[olders:vars]
ojdk_version = 8

[newers:vars]
ojdk_version = 11

[servlets:vars]
ojdk_state = present

Alors votre playbook devient simplement :

- hosts: dummy
  become: yes
  roles:
    - openjdk

Divers

Statut de construction

Licence

Ce rôle est copyleft sous la GNU GPLv3 (voir le fichier LICENCE)

Auteurs

gilcot est un fervent défenseur des logiciels libres et jure uniquement par le système Ansible pour les déploiements.

Contribution

  • Notez ce rôle sur Ansible Galaxy
  • Soumettez des problèmes pour aider à l'améliorer
  • Demandez des fusions de code pour le code
  • Remerciez l'auteur ou les auteurs avec :
À propos du projet

Ansible role to manage OpenJDK package

Installer
ansible-galaxy install gilcot.ojdk
Licence
gpl-3.0
Téléchargements
111
Propriétaire