abessifi.java

Rola Ansible Java

Opis

To jest rola Ansible do instalacji Oracle/OpenJDK Java na różnych systemach GNU/Linux.

Wspierane systemy

  • Debian
  • Ubuntu
  • RedHat
  • CentOS
  • FreeBSD

Wymagania

  • Ansible 1.9 lub wyższy (można łatwo zainstalować przez pip. Przykład: sudo pip install ansible==1.9.2)
  • Vagrant 1.7 lub wyższy
  • Pakiet sshpass, który jest potrzebny przez Ansible, jeśli używasz uwierzytelniania SSH hasłem. Na Ubuntu/Debian: $ sudo apt-get install sshpass
  • Virtualbox
  • Oh-my-box, narzędzie opcjonalne, jeśli chcesz szybko przygotować i zapakować bazowy obraz Vagrant z Ansible i Ruby wstępnie zainstalowanymi.

Zmienne roli

Dostępne zmienne są wymienione poniżej z wartościami domyślnymi:

  • java_jdk_type - Typ zestawu narzędzi dewelopera Java powinien być oracle lub openjdk (domyślnie: 'openjdk')
  • java_version - Wersja Java do zainstalowania (domyślnie: '8')
  • java_package - Nazwa pakietu Java JDK do zainstalowania (domyślnie: brak)
  • java_set_as_default - Jeśli prawda, ustawia aktualnie zainstalowaną Java jako domyślną wersję systemu (domyślnie: fałsz)
  • oracle_jdk_rpm_package - Nazwa pakietu rpm do zainstalowania oracle jdk na Redhat (domyślnie: 'jdk-8u144-linux-x64.rpm')
  • oracle_jdk_rpm_url - Url do pobrania pakietu rpm oracle jdk (domyślnie: 'http://download.oracle.com/otn-pub/java/jdk/8u144-b01/jdk-8u144-linux-x64.rpm')
  • rpm_download_directory - Absolutna ścieżka do tymczasowego katalogu, w którym pakiet zostanie pobrany (domyślnie: '/var/cache/yum/x86_64/7/extras/packages')

Dostępne tagi

  • install-java - Domyślny tag do wykonywania instalacji Java JDK.

Użycie

Instalacja OpenJDK 8 (domyślna wersja openjdk)

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

Instalacja Oracle JDK 8 (domyślna wersja oracle jdk)

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

Instalacja OpenJDK 7 (na Debianie i ustawienie jako domyślne)

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

Instalacja Oracle JDK 7 (na Redhat i ustawienie jako domyślne)

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

Rozwój i testowanie

Testowanie za pomocą Vagrant

Aby szybko przetestować, możesz uruchomić maszynę wirtualną Debian za pomocą Vagrant. Może być konieczne dostosowanie pliku Vagrantfile do twojego środowiska (adresy IP itp.).

$ vagrant up

Uruchamianie testów akceptacyjnych

Testy akceptacyjne/integracyjne można uruchomić przeciwko roli za pomocą narzędzia test-kitchen. Wszystkie napisane testy akceptacyjne znajdują się w katalogu ./test/integration/.

Plik .kitchen.yml opisuje konfigurację testów i listę zestawów testowych do uruchomienia. Domyślnie, twoje instancje będą konwertowane za pomocą Ansible i uruchamiane w maszynach wirtualnych Vagrant.

Aby wyświetlić listę instancji:

$ kitchen list

Instancja                             Sterownik    Przygotowujący      Weryfikator  Transport  Ostatnia akcja
default-debian-8-x64                  Vagrant      AnsiblePlaybook    Busser       Ssh        <Nie utworzono>
override-java-version-debian-8-x64    Vagrant      AnsiblePlaybook    Busser       Ssh        <Nie utworzono>
install-oracle-jdk-debian-8-x64       Vagrant      AnsiblePlaybook    Busser       Ssh        <Nie utworzono>

Aby uruchomić testy z zestawem override-java-version na platformie Debian 8, na przykład, uruchom:

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

Autor

Ta rola została stworzona przez Ahmed Bessifi, entuzjastę DevOps.

O projekcie

Java for GNU/Linux systems

Zainstaluj
ansible-galaxy install abessifi.java
Licencja
mit
Pobrania
351
Właściciel
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.