Comcast.sdkman

Rôle Ansible : Comcast.sdkman

Rôle Galaxy Téléchargements Licence Apache 2.0 État de la construction

Un rôle Ansible qui réalise les fonctions suivantes :

  • Installer SDKMAN
  • Installer/désinstaller des logiciels gérés par SDKMAN candidats
  • Définir les versions par défaut de l'SDK
  • Gérer le fichier de configuration SDKMAN : /path/to/sdkman/etc/config
  • Vider les caches SDKMAN

Avertissement : Oracle a rendu l'installation de leurs JDK de plus en plus difficile, ce qui a freiné la possibilité de les installer via SDKMAN. Envisagez d'utiliser OpenJDK à la place ou d'installer/gérer le JDK Oracle par d'autres moyens.

Exigences

Aucune.

Variables de Rôle

Consultez les valeurs par défaut pour une description de chaque variable modifiable.

Dépendances

Aucune.

Exemple de Playbook

Voici un exemple !

- hosts: serveurs
  roles:
    - role: Comcast.sdkman
      sdkman_user: vagrant
      sdkman_group: vagrant
      sdkman_auto_answer: true
      sdkman_update: true
      sdkman_uninstall_packages:
        - { candidate: groovy, version: 1.8.9 }
      sdkman_install_packages:
        - { candidate: java, version: 8.0.202-zulu }
        - { candidate: gradle, version: '3.5' }
        - { candidate: gradle, version: 2.14.1 }
        - { candidate: maven, version: 3.5.0 }
        - { candidate: maven, version: 3.3.9 }
        # Utilisez cette syntaxe si vous voulez que SDKMAN soit conscient des paquets installés *sans* SDKMAN, par exemple les JDK Oracle
        - { candidate: java, version: 1.8.0-oracle, localpath: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk }
      sdkman_defaults:
        gradle: '3.5'
        maven: 3.3.9
        java: 8.0.202-zulu
      sdkman_flush_caches_before:
        - temp
      sdkman_flush_caches_after:
        - archives
        - broadcast
        - candidates
        - temp
      sdkman_offline_mode: false
      sdkman_update_alternatives:
        - candidate: java
          name: java
          link: /usr/bin/java
        - candidate: java
          name: javac
          link: /usr/bin/javac

Remarques Supplémentaires

Si vous souhaitez sauter des étapes nécessitant une élévation de privilèges (c'est-à-dire des commandes sudo), ce rôle a marqué ces tâches avec la balise sdkman_privilege. Passez le drapeau --skip-tags en ligne de commande avec cette balise pour contourner toute étape qui a peut-être déjà été complétée par votre administrateur système (par exemple, l'installation de paquets système).

Tester ce rôle avec Alpine Linux a été un véritable défi. Les versions récentes de JDK (>-11) disponibles via SDKMAN ne sont pas compatibles avec Alpine. À la place, il est recommandé d'installer un JDK/JRE via le dépôt de paquets apk. Ceci étant dit, je ne suis actuellement pas sûr de la bonne exécution des paquets SDKMAN sur Alpine. Votre expérience peut varier. Vous avez été prévenu.

Licence

Apache 2.0

Informations sur l'Auteur

À propos du projet

An Ansible role that installs/manages SDKMAN

Installer
ansible-galaxy install Comcast.sdkman
Licence
apache-2.0
Téléchargements
96.8k
Propriétaire
Comcast brings together the best in media and technology to create the world's best entertainment and online experiences