Varijable sa zadanim vrijednostima (vidi default/main.yml):
Opće varijable
nexus_version: ''
nexus_timezone: 'UTC'
Podrazumevano, uloga će instalirati najnoviju dostupnu verziju Nexusa. Možete popraviti verziju promjenom varijable nexus_version. Pogledajte dostupne verzije na https://www.sonatype.com/download-oss-sonatype.
Ako pređete na noviju verziju, uloga će pokušati ažurirati vašu Nexus instalaciju.
Ako koristite stariju verziju Nexusa od najnovije, trebali biste osigurati da ne koristite funkcije koje nisu dostupne u instaliranom izdanju (na primjer, hostovanje yum spremišta je dostupno za nexus veći od 3.8.0, git lfs repo za nexus veći od 3.3.0 itd.)
nexus timezone je naziv vremenske zone Java, što može biti korisno u kombinaciji sa sljedećim cron izrazima za nexus_scheduled zadatke.
Port i kontekstni put procesa Java veze. nexus_default_context_path mora sadržavati kosu crtu kada je postavljena, npr.: nexus_default_context_path: '/nexus/'.
Nexus OS korisnik i grupa
nexus_os_group: 'nexus'
nexus_os_user: 'nexus'
Korisnik i grupa koji se koriste za posjedovanje Nexus datoteka i pokretanje usluge će biti kreirani ulogom ako nedostaje.
nexus_os_user_home_dir: '/home/nexus'
Dozvoli promjenu zadanog matičnog direktorija za nexus korisnika
nexus_installation_dir sadrži instalirane izvršne datoteke
nexus_data_dir sadrži sve konfiguracije, spremišta i preuzete artefakte. Prilagođene staze blobstore nexus_data_dir može se prilagoditi, pogledajte ispod nexus_blobstores.
nexus_tmp_dir sadrži sve privremene datoteke. Zadana staza za redhat je premještena /tmp za prevazilaženje potencijalnih problema sa automatskim postupcima čišćenja. Vidi #168.
Kao drugo upozorenje, evo izvoda iz gore navedenog dokumenta:
Ne preporučuje se povećanje JVM hrpe memorije preko preporučenih vrijednosti u pokušaju poboljšanja performansi. Ovo zapravo može imati suprotan efekat, što rezultira nepotrebnim radom za operativni sistem.
Administratorska lozinka
nexus_admin_password: 'changeme'
Lozinka "admin" naloga za podešavanje. Ovo radi samo na prvoj zadanoj instalaciji. Molimo pogledajte [Promjena lozinke administratora nakon prve instalacije] (# promjena-admin-lozinke-poslije prve instalacije) ako je kasnije želite promijeniti koristeći ulogu.
Izričito se preporučuje da svoju lozinku ne pohranjujete u čistom tekstu u priručniku, već da koristite [ansible-vault enkripciju] (https://docs.ansible.com/ansible/latest/user_guide/vault.html) (inline ili u zasebnoj datoteci učitanoj npr. include_vars)
Anonimni pristup podrazumevano
nexus_anonymous_access: false
Anonimni pristup je podrazumevano onemogućen. Pročitajte više o anonimni pristup.
Ove varijable kontroliraju kako se uloga povezuje s Nexus API-jem za obezbjeđivanje. Samo za napredne korisnike. Verovatno ne želite da menjate ove podrazumevane postavke
Ustanovite SSL Reverse Proxy.
Da biste to učinili, morate instalirati httpd. Napomena: kada za httpd_setup_enable postavljena vrijednosttrue, nexus kontakti 127.0.0.1:8081, dakle ne biti direktno dostupan preko HTTP porta 8081 sa eksterne IP adrese.
Zadano korišteno ime hosta je nexus_public_hostname. Ako su vam iz nekog razloga potrebna drugačija imena, možete ih postaviti httpd_server_name sa drugačijim značenjem.
С httpd_copy_ssl_files: true (podrazumevano) gore navedeni sertifikati bi trebali postojati u vašem playbook direktoriju i bit će kopirani na server i konfigurirani u apacheu.
Ako želite da koristite postojeće sertifikate na serveru, instalirajte httpd_copy_ssl_files: false i obezbijediti sljedeće varijable:
# These specifies to the vhost where to find on the remote server file
# system the certificate files.
httpd_ssl_cert_file_location: "/etc/pki/tls/certs/wildcard.vm.crt"
httpd_ssl_cert_key_location: "/etc/pki/tls/private/wildcard.vm.key"
# httpd_ssl_cert_chain_file_location: "{{ httpd_ssl_cert_file_location }}"
httpd_ssl_cert_chain_file_location je opciono i treba ga ostaviti nepodešenim ako ne želite da prilagodite datoteku lanca
nexus_privileges:
- name: all-repos-read # used as key to update a privilege
# type: <one of application, repository-admin, repository-content-selector, repository-view, script or wildcard>
description: 'Read & Browse access to all repos'
repository: '*'
actions: # can be add, browse, create, delete, edit, read or * (all)
- read
- browse
# pattern: pattern
# domain: domain
# script_name: name
lista privilegije za podešavanja. Pogledajte dokumentaciju i GUI da provjerite koje varijable treba postaviti ovisno o tipu privilegija.
Ovi elementi su kombinovani sa sledećim podrazumevanim vrednostima:
nexus_roles:
- id: Developpers # can map to a LDAP group id, also used as a key to update a role
name: developers
description: All developers
privileges:
- nx-search-read
- all-repos-read
roles: [] # references to other role names
nexus_local_users: []
# - username: jenkins # used as key to update
# state: present # default value if ommited, use 'absent' to remove user
# first_name: Jenkins
# last_name: CI
# email: [email protected]
# password: "s3cr3t"
# roles:
# - developers # role ID
Lista lokalnih (ne-LDAP) korisnika/naloga za kreiranje u nexusu.
Lista lokalnih (ne-LDAP) korisnika/naloga za kreiranje u Nexusu.
Ldap mapiranje korisnika/uloga. Država absent će ukloniti uloge postojećeg korisnika ako već postoji.
Ldap korisnici se ne brišu. Pokušaj postavljanja uloge za nepostojećeg korisnika rezultirat će greškom.
Selektori sadržaja
nexus_content_selectors:
- name: docker-login
description: Selector for docker login privilege
search_expression: format=="docker" and path=~"/v2/"
Za više informacija o biraču sadržaja pogledajte Dokumentacija.
Da biste koristili birač sadržaja, dodajte novu privilegiju sa type: repository-content-selector i relevantnocontentSelector
Izbrišite spremišta iz početne zadane konfiguracije nexus install. Ovaj korak se izvršava samo pri prvoj instalaciji (kada nexus_data_dir je otkriveno da je prazno).
Uklanjanje spremišta iz podrazumevane podrazumevane konfiguracije za Nexus. Ovaj korak se izvodi samo tokom prve instalacije (kada nexus_data_dir prazan).
nexus_delete_default_blobstore: false
Izbrišite podrazumevani blobstor iz početne podrazumevane konfiguracije nexus install. Ovo se može uraditi samo ako nexus_delete_default_repos: true i sva konfigurisana spremišta (pogledajte ispod) imaju eksplicitni blob_store: custom. Ovaj korak se izvršava samo pri prvoj instalaciji (kada nexus_data_dir je otkriveno da je prazno).
Uklanjanje blob memorije (binarni artefakti) je po defaultu onemogućeno iz početne konfiguracije. Da biste uklonili pohranu blobova (binarni artefakti), isključite nexus_delete_default_repos: true. Ovaj korak se izvodi samo tokom prve instalacije (kada nexus_data_dir prazan).
Blobstores stvoriti. Putanja blobstore-a i blobstore spremišta ne mogu se ažurirati nakon početnog kreiranja (svako ažuriranje ovdje će biti zanemareno prilikom ponovnog obezbjeđivanja).
Konfiguriranje blobstore-a na S3 pruža se kao pogodnost i nije dio automatiziranih testova koje izvodimo na travisu. Imajte na umu da se pohranjivanje na S3 preporučuje samo za instance raspoređene na AWS.
Kreacija Blobstores. Putanja za pohranu i spremište ne mogu se ažurirati nakon početnog kreiranja (svako ažuriranje ovdje će se zanemariti kada se ponovo instalira).
Postavljanje blob memorije na S3 pruža se kao pogodnost. Imajte na umu da se S3 skladište preporučuje samo za instance raspoređene na AWS.
Iznad je primjer konfiguracije proxy server Maven.
nexus_repos_maven_hosted:
- name: private-release
version_policy: release
write_policy: allow_once # one of "allow", "allow_once" or "deny"
Maven hostovana spremišta konfiguraciju. Negativna konfiguracija keša je opciona i podrazumevano će postaviti gore navedene vrednosti ako se izostavi.
Konfiguracija hostovana spremišta Maven. Negativna konfiguracija keš memorije (-1) je opciona i podrazumevano će koristiti gore navedene vrednosti ako nisu navedene.
nexus_repos_maven_group:
- name: public
member_repos:
- central
- jboss
Sva tri tipa spremišta su kombinovana sa sledećim podrazumevanim vrednostima:
_nexus_repos_maven_defaults:
blob_store: default # Note : cannot be updated once the repo has been created
strict_content_validation: true
version_policy: release # release, snapshot or mixed
layout_policy: strict # strict or permissive
write_policy: allow_once # one of "allow", "allow_once" or "deny"
maximum_component_age: -1 # Nexus gui default. For proxies only
maximum_metadata_age: 1440 # Nexus gui default. For proxies only
negative_cache_enabled: true # Nexus gui default. For proxies only
negative_cache_ttl: 1440 # Nexus gui default. For proxies only
Docker, Pypi, Raw, Rubygems, Bower, NPM, Git-LFS i yum tipovi spremišta:
vidjeti defaults/main.yml za ove opcije:
Docker, Pypi, Raw, Rubygems, Bower, NPM, Git-LFS i yum spremišta su onemogućena po defaultu:
Vidite defaults/main.yml za ove opcije:
Imajte na umu da ćete možda morati omogućiti određene sigurnosne opsege ako želite koristiti druge vrste spremišta osim mavena. Ovo je po defaultu netačno
Sigurnosna kopija neće biti konfigurirana dok se ne prebacite nexus_backup_configure в true.
U ovom slučaju, zakazani zadatak skripte će biti konfigurisan za pokretanje na Nexusu
u intervalu navedenom u nexus_backup_cron (podrazumevano 21:00 svaki dan).
Pogledajte [groovy šablon za ovaj zadatak](templates/backup.groovy.j2) za detalje.
Ovaj zakazani zadatak je nezavisan od drugih nexus_scheduled_taskskoji ti
objavite u svojoj knjizi.
Ako želite rotirati/obrisati sigurnosne kopije, instalirajte nexus_backup_rotate: true i konfigurišite broj rezervnih kopija koje želite da sačuvate koristeći nexus_backup_keep_rotations (podrazumevano 4).
Kada koristite rotaciju, ako želite uštedjeti dodatni prostor na disku tokom procesa sigurnosne kopije,
Možete instalirati nexus_backup_rotate_first: true. Ovo će konfigurirati pre-rotaciju/brisanje prije sigurnosne kopije. Po defaultu, rotacija se događa nakon kreiranja sigurnosne kopije. Imajte na umu da u ovom slučaju stare sigurnosne kopije
će biti obrisan prije nego što se napravi trenutna sigurnosna kopija.
Postupak oporavka
Pokrenite playbook s parametrom -e nexus_restore_point=<YYYY-MM-dd-HH-mm-ss>
(na primjer, 2017-12-17-21-00-00 za 17. decembar 2017. u 21:00
Uklanjanje nexusa
Upozorenje: Ovo će u potpunosti izbrisati vaše trenutne podatke. Obavezno napravite rezervnu kopiju ranije ako je potrebno
Koristite varijablu nexus_purgeako trebate ponovo pokrenuti od nule i ponovo instalirati nexus instancu sa uklonjenim svim podacima.
Promijenite lozinku administratora nakon prve instalacije
nexus_default_admin_password: 'admin123'
Ovo ne bi trebalo mijenjati u vašoj knjizi. Ova varijabla je popunjena zadanom Nexus admin lozinkom kada se prvi put instalira i osigurava da možemo promijeniti administratorsku lozinku u nexus_admin_password.
Ako želite promijeniti administratorsku lozinku nakon prve instalacije, možete je privremeno promijeniti u staru lozinku iz komandne linije. Nakon promjene nexus_admin_password u svom playbook-u možete pokrenuti: