pogosoftware.nexus3_oss
Ansible Rolle: Nexus 3 OSS
Diese Rolle installiert und konfiguriert den Nexus Repository Manager OSS Version 3.x.
Alle Konfigurationen können durch erneutes Ausführen der Rolle aktualisiert werden, mit Ausnahme der Blobstores bezogenen Einstellungen, die in Nexus unveränderlich sind.
Inhaltsverzeichnis
Hinweis: Die Links im Inhaltsverzeichnis funktionieren möglicherweise nicht richtig, wenn Sie von der Ansible Galaxy-Website darauf zugreifen. Auf GitHub ansehen
(Erstellt mit gh-md-toc)
Geschichte / Danksagungen
Diese Rolle ist ein Fork von ansible-nexus3-oss von @savoirfairelinux, nachdem sie das Ende der Wartung angekündigt haben. Sie können die folgenden Tickets im Originalrepository für Erklärungen einsehen:
- https://github.com/savoirfairelinux/ansible-nexus3-oss/issues/36
- https://github.com/savoirfairelinux/ansible-nexus3-oss/issues/38
Wir möchten den ursprünglichen Autoren für die geleistete Arbeit danken.
Anforderungen
- Aktuelle Version von Ansible. Wir folgen den Ansible-Versionen während der Wartung/Entwicklung und werden bei Bedarf neue Funktionen nutzen (und die Datei meta/main.yml für die Mindestversion aktualisieren).
- Kompatibles Betriebssystem. Diese Rolle wird in Molecule auf Travis CI für CentOS 8, Ubuntu Bionic (18.04) und Debian Buster getestet. Andere Molecule-Szenarien können lokal für CentOS 7, Ubuntu Xenial (16.04) und Debian Stretch ausgeführt werden.
- Rsync muss auf der Zielmaschine installiert sein (es wird nicht benötigt, wenn der Ansible-Host anders ist).
- Die
jmespath
-Bibliothek muss auf dem Host installiert werden, der das Playbook ausführt (benötigt für denjson_query
-Filter). Sieherequirements.txt
. - Java 8 (obligatorisch)
- Oracle hat das Ende für Java 8 angekündigt. Sonatype empfiehlt jetzt openjdk8.
- Für weitere Informationen siehe Nexus3-Systemanforderungen.
- Apache HTTPD (optional)
- Wird verwendet, um einen SSL Reverse Proxy einzurichten.
- Die folgenden Module müssen in Ihrer Konfiguration aktiviert sein: mod_ssl, mod_rewrite, mod_proxy, mod_proxy_http, mod_headers.
(siehe Abschnitt Abhängigkeiten unten für passende Rollen in der Galaxy)
Rollenvariablen
Ansible-Variablen sowie die Standardwerte (siehe default/main.yml
):
Allgemeine Variablen
nexus_version: ''
nexus_timezone: 'UTC'
nexus_download_url: "http://download.sonatype.com/nexus/3"
Die Rolle installiert standardmäßig die neueste verfügbare Nexus-Version. Sie können die Version fixieren, indem Sie die Variable nexus_version
festlegen.
Wenn Sie die Version fixieren und auf eine andere ändern, versucht die Rolle, Ihre Installation zu aktualisieren.
Stellen Sie sicher, dass Sie auf eine spätere Version in der Versionshistorie wechseln. Ein Downgrade schlägt fehl (es sei denn, Sie installieren neu von Grund auf mit der speziellen Variable nexus_purge
).
Wenn Sie die Version nicht fixieren und die Rolle auf einer bestehenden Installation spielen, wird die aktuell installierte Version verwendet.
Wenn Sie Nexus aktualisieren möchten, müssen Sie die spezielle Variable nexus_upgrade=true
in der Ansible-Playbook-Befehlszeile angeben.
Siehe Upgrade Nexus auf die neueste Version.
Wenn Sie eine ältere Version von Nexus als die neueste verwenden, sollten Sie sicherstellen, dass Sie keine Funktionen verwenden, die in der installierten Version nicht verfügbar sind.
Beispiel-Playbook
---
- name: Nexus
hosts: nexus
become: yes
vars:
nexus_timezone: 'Canada/Eastern'
nexus_admin_password: "{{ vault_nexus_admin_password }}"
nexus_public_hostname: 'nexus.vm'
httpd_setup_enable: true
httpd_ssl_certificate_file: "{{ vault_httpd_ssl_certificate_file }}"
httpd_ssl_certificate_key_file: "{{ vault_httpd_ssl_certificate_key_file }}"
roles:
- { role: ansible-thoteam.nexus3-oss, tags: ['ansible-thoteam.nexus3-oss'] }
Lizenz
GNU GPLv3