abessifi.java

Ansible Java Rolle

Beschreibung

Dies ist eine Ansible-Rolle zur Installation von Oracle/OpenJDK Java auf verschiedenen GNU/Linux-Systemen.

Unterstützte Systeme

  • Debian
  • Ubuntu
  • RedHat
  • CentOS
  • FreeBSD

Anforderungen

  • Ansible 1.9 oder höher (kann einfach über pip installiert werden. Zum Beispiel: sudo pip install ansible==1.9.2)
  • Vagrant 1.7 oder höher
  • Das sshpass Paket, das von Ansible benötigt wird, wenn Sie die SSH-Authentifizierung mit Passwort verwenden. Auf Ubuntu/Debian: $ sudo apt-get install sshpass
  • Virtualbox
  • Oh-my-box Tool, optional, wenn Sie schnell eine Vagrant-Basisbox mit Ansible und Ruby vorinstalliert einrichten und paketieren möchten.

Rollenvariablen

Verfügbare Variablen sind unten aufgeführt, zusammen mit Standardwerten:

  • java_jdk_type - Der Typ des Java Development Toolkits sollte oracle oder openjdk sein (Standard: 'openjdk')
  • java_version - Die zu installierende Java-Version (Standard: '8')
  • java_package - Der Name des zu installierenden Java JDK-Pakets (Standard: None)
  • java_set_as_default - Wenn wahr, wird die aktuell installierte Java-Version als Systemstandardversion festgelegt (Standard: false)
  • oracle_jdk_rpm_package - Der RPM-Paketname zur Installation von Oracle JDK auf RedHat (Standard: 'jdk-8u144-linux-x64.rpm')
  • oracle_jdk_rpm_url - Die Download-URL des Oracle JDK RPM-Pakets (Standard: 'http://download.oracle.com/otn-pub/java/jdk/8u144-b01/jdk-8u144-linux-x64.rpm')
  • rpm_download_directory - Der absolute Pfad zu einem temporären Verzeichnis, in dem das Paket heruntergeladen wird (Standard: '/var/cache/yum/x86_64/7/extras/packages')

Verfügbare Tags

  • install-java - Standard-Tag zur Durchführung der Java JDK-Installation.

Verwendung

Installiere OpenJDK 8 (Standardversion openjdk)

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

Installiere Oracle JDK 8 (Standardversion oracle jdk)

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

Installiere OpenJDK 7 (auf Debian und setze es als Standard)

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

Installiere Oracle JDK 7 (auf RedHat und setze es als Standard)

- hosts: localhost
  sudo: ja
  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

Entwicklung und Tests

Testen mit Vagrant

Für schnelle Tests können Sie eine Debian VM mit Vagrant aufsetzen. Möglicherweise müssen Sie die Vagrantfile an Ihre Umgebung anpassen (IP-Adressen usw.).

$ vagrant up

Akzeptanztests durchführen

Akzeptanz-/Integrationstests können mit dem Werkzeug test-kitchen gegen die Rolle durchgeführt werden. Alle geschriebenen Akzeptanztests befinden sich im Verzeichnis ./test/integration/.

Die Datei .kitchen.yml beschreibt die Testkonfiguration und die Liste der auszuführenden Testsuiten. Standardmäßig werden Ihre Instanzen mit Ansible konvergiert und in Vagrant-VMs ausgeführt.

Um die Instanzen aufzulisten:

$ kitchen list

Instanz                            Treiber   Bereitsteller       Prüfer  Transport  Letzte Aktion
default-debian-8-x64                Vagrant  AnsiblePlaybook   Busser    Ssh        <Nicht erstellt>
override-java-version-debian-8-x64  Vagrant  AnsiblePlaybook   Busser    Ssh        <Nicht erstellt>
install-oracle-jdk-debian-8-x64     Vagrant  AnsiblePlaybook   Busser    Ssh        <Nicht erstellt>

Um die Tests mit der Suite override-java-version auf einer Debian 8-Plattform durchzuführen, führen Sie Folgendes aus:

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

Autor

Diese Rolle wurde von Ahmed Bessifi, einem DevOps-Enthusiasten, erstellt.

Über das Projekt

Java for GNU/Linux systems

Installieren
ansible-galaxy install abessifi.java
GitHub Repository
Lizenz
mit
Downloads
351
Besitzer
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.