ProHoster > Blogi > Haldamine > Nexus Sonatype'i installimine ja konfigureerimine, kasutades koodipõhise lähenemisviisina infrastruktuuri
Nexus Sonatype'i installimine ja konfigureerimine, kasutades koodipõhise lähenemisviisina infrastruktuuri
Sonatype Nexus on integreeritud platvorm, mille kaudu arendajad saavad puhverserverit kasutada, salvestada ja hallata Java (Maven) sõltuvusi, Dockeri, Pythoni, Ruby, NPM-i, Boweri kujutisi, RPM-pakette, gitlfi, Apt, Go, Nuget ja levitada oma tarkvara turvalisust.
Miks vajate Sonatype Nexust?
Privaatsete esemete hoidmiseks;
Internetist alla laaditud artefaktide vahemällu salvestamiseks;
Vaikimisi installib roll Nexuse uusima saadaoleva versiooni. Muutuja muutmisega saate versiooni parandada nexus_version. Vaadake saadaolevaid versioone aadressil https://www.sonatype.com/download-oss-sonatype.
Kui muudate uuema versiooni, proovib roll teie Nexuse installi värskendada.
Kui kasutate Nexuse vanemat versiooni kui uusim, peaksite tagama, et te ei kasutaks funktsioone, mis pole installitud versioonis saadaval (nt yumi hoidlate hostimine on saadaval Nexuse versioonile, mis on suurem kui 3.8.0, git lfs repo nexuse jaoks, mis on suurem kui 3.3.0 jne)
nexus timezone on Java ajavööndi nimi, mis võib olla kasulik koos järgmiste cron-avaldistega nexus_scheduled ülesannete jaoks.
Java-ühenduse protsessi port ja kontekstitee. nexus_default_context_path peab sisaldama kaldkriipsu, kui see on määratud, nt: nexus_default_context_path: '/nexus/'.
Nexus OS-i kasutaja ja rühm
nexus_os_group: 'nexus'
nexus_os_user: 'nexus'
Nexuse failide omamise ja teenuse käitamise kasutaja ja rühm loob rolli, kui see puudub.
nexus_installation_dir sisaldab installitud käivitatavaid faile
nexus_data_dir sisaldab kõiki konfiguratsioone, hoidlaid ja allalaaditud artefakte. Kohandatud blobstore teed nexus_data_dir saab kohandada, vt allpool nexus_blobstores.
nexus_tmp_dir sisaldab kõiki ajutisi faile. Redhat'i vaiketee on teisaldatud /tmp automaatsete puhastusprotseduuridega seotud võimalike probleemide ületamiseks. Vt #168.
Need on Nexuse vaikeseaded. Palun ärge muutke neid väärtusiKui te pole lugenud nexuse süsteeminõuete mälu jaotis ja ei saa aru, mida nad teevad.
Teise hoiatusena on siin väljavõte ülaltoodud dokumendist:
Jõudluse parandamiseks ei ole soovitatav suurendada JVM-i kuhjamälu soovitatud väärtustest kaugemale. Sellel võib tegelikult olla vastupidine mõju, mis toob kaasa operatsioonisüsteemi tarbetu töö.
Administraatori parool
nexus_admin_password: 'changeme'
Seadistamise jaoks mõeldud administraatori konto parool. See toimib ainult esimese vaikeinstalli korral. Kui soovite seda hiljem rolli abil muuta, vaadake jaotist [Administraatori parooli muutmine pärast esimest installimist](# change-admin-password-af-first-install).
On tungivalt soovitatav mitte salvestada oma parooli esitusraamatusse selge tekstina, vaid kasutada [ansible-vault krüptimist] (https://docs.ansible.com/ansible/latest/user_guide/vault.html) (kas tekstisiseselt või eraldi failis, kuhu on laaditud nt include_vars)
Need muutujad juhivad seda, kuidas roll ühendub ettevalmistamiseks Nexuse API-ga. Ainult edasijõudnud kasutajatele. Tõenäoliselt ei soovi te neid vaikeseadeid muuta
Komplekt SSL-i pöördpuhverserver.
Selleks peate installima httpd. Märkus: millal httpd_setup_enable seatud väärtustrue, nexuse kontaktid 127.0.0.1:8081, seega ei on väliselt IP-aadressilt otse juurdepääsetav HTTP-pordi 8081 kaudu.
Vaikimisi kasutatav hostinimi on nexus_public_hostname. Kui vajate mingil põhjusel erinevaid nimesid, saate määrata httpd_server_name erineva tähendusega.
С httpd_copy_ssl_files: true (vaikimisi) peaksid ülaltoodud sertifikaadid olema teie mänguraamatu kataloogis ning need kopeeritakse serverisse ja konfigureeritakse apache'is.
Kui soovite kasutada serveris olemasolevaid sertifikaate, installige httpd_copy_ssl_files: false ja esitage järgmised muutujad:
# 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 on valikuline ja see tuleks jätta määramata, kui te ei soovi kettfaili kohandada
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
nimekiri privileegid seadete jaoks. Vaadake dokumentatsiooni ja GUI-d, et kontrollida, millised muutujad tuleb olenevalt õiguse tüübist määrata.
Need elemendid on kombineeritud järgmiste vaikeväärtustega:
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
Kohalike (mitte LDAP) kasutajate/kontode loend, mis luuakse nexuses.
Kohalike (mitte-LDAP) kasutajate/kontode loend, mida Nexuses luua.
Kasutajate/rollide Ldap kaardistamine. osariik absent eemaldab rollid olemasolevalt kasutajalt, kui see on juba olemas.
Ldap kasutajaid ei kustutata. Kui proovite määrata rolli olematule kasutajale, tekib tõrge.
Sisu valijad
nexus_content_selectors:
- name: docker-login
description: Selector for docker login privilege
search_expression: format=="docker" and path=~"/v2/"
Kustutage hoidlad nexuse installi algsest vaikekonfiguratsioonist. Seda sammu teostatakse ainult esmakordsel installimisel (kui nexus_data_dir on tuvastatud tühjaks).
Hoidlate eemaldamine Nexuse vaikekonfiguratsioonist. Seda sammu tehakse ainult esmakordse installimise ajal (kui nexus_data_dir tühi).
nexus_delete_default_blobstore: false
Kustutage vaikeblobstore nexuse installi algsest vaikekonfiguratsioonist. Seda saab teha ainult siis, kui nexus_delete_default_repos: true ja kõigil konfigureeritud hoidlatel (vt allpool) on selgesõnaline blob_store: custom. Seda sammu teostatakse ainult esmakordsel installimisel (kui nexus_data_dir on tuvastatud tühjaks).
Blobide salvestusruumi (binaarartefaktide) eemaldamine on vaikimisi algkonfiguratsioonist keelatud. Blob-salvestuse (binaarartefaktide) eemaldamiseks lülitage see välja nexus_delete_default_repos: true. Seda sammu tehakse ainult esimese installimise ajal (kui nexus_data_dir tühi).
Blobstores looma. Blobstore'i teed ja hoidla blobstore'i ei saa pärast esmast loomist värskendada (kõiki siin tehtud värskendusi eiratakse uuesti ettevalmistamisel).
Blobstore'i konfigureerimine S3-s on mugavuse huvides ja see ei ole osa automaattestidest, mida me travisis käivitame. Pange tähele, et S3-le salvestamine on soovitatav ainult AWS-is juurutatud juhtumite puhul.
Loomine Blobstores. Salvestateed ja salvestusruumi ei saa pärast esmast loomist värskendada (uuesti installimisel eiratakse siin kõiki värskendusi).
Mugavuse huvides on S3-s blob-salvestusruumi seadistamine. Pange tähele, et S3-salvestus on soovitatav ainult AWS-is juurutatud juhtumite puhul.
Ülal on konfiguratsiooni näide puhverserver Maven.
nexus_repos_maven_hosted:
- name: private-release
version_policy: release
write_policy: allow_once # one of "allow", "allow_once" or "deny"
Maven hostitud hoidlad konfiguratsiooni. Negatiivne vahemälu konfiguratsioon on valikuline ja selle väljajätmise korral kasutatakse vaikimisi ülaltoodud väärtusi.
Konfiguratsioon hostitud hoidlad Maven. Negatiivne vahemälu konfiguratsioon (-1) on valikuline ja vaikimisi kasutatakse ülaltoodud väärtusi, kui seda pole määratud.
nexus_repos_maven_group:
- name: public
member_repos:
- central
- jboss
Kõik kolm hoidlatüüpi on kombineeritud järgmiste vaikeväärtustega:
_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 ja yum hoidlatüübid:
vaata defaults/main.yml nende valikute jaoks:
Dockeri, Pypi, Raw, Rubygemsi, Boweri, NPM, Git-LFS ja yumi hoidlad on vaikimisi keelatud:
nägema defaults/main.yml nende valikute jaoks:
Varundamist ei konfigureerita enne, kui vahetate nexus_backup_configure в true.
Sel juhul konfigureeritakse ajastatud skriptiülesanne Nexuses töötama
punktis määratud intervalliga nexus_backup_cron (vaikimisi 21:00 iga päev).
Vaadake üksikasju [selle ülesande jaoks mõeldud groovy mall](templates/backup.groovy.j2).
See ajastatud ülesanne on teistest sõltumatu nexus_scheduled_tasksmida sa
teatama oma mänguraamatus.
Kui soovite varukoopiaid pöörata/kustutada, installige nexus_backup_rotate: true ja seadistage varukoopiate arv, mida soovite kasutada nexus_backup_keep_rotations (vaikimisi 4).
Pööramise kasutamisel, kui soovite varundamise ajal säästa täiendavat kettaruumi,
Saate installida nexus_backup_rotate_first: true. See konfigureerib enne varundamist pööramise/kustutamise. Vaikimisi toimub pööramine pärast varukoopia loomist. Pange tähele, et antud juhul vanad varukoopiad
kustutatakse enne praeguse varukoopia tegemist.
Taastamisprotseduur
Käivitage mänguraamat parameetriga -e nexus_restore_point=<YYYY-MM-dd-HH-mm-ss>
(näiteks 2017-12-17-21-00-00 17. detsembril 2017 kell 21:00
Nexuse eemaldamine
Hoiatus: see kustutab teie praegused andmed täielikult. Vajadusel tehke kindlasti varem varukoopia
Kasutage muutujat nexus_purgekui peate nullist taaskäivitama ja nexuse eksemplari uuesti installima koos kõigi andmetega.
Muutke administraatori parool pärast esimest installimist
nexus_default_admin_password: 'admin123'
Seda ei tohiks oma mänguraamatus muuta. See muutuja on esmakordsel installimisel täidetud Nexuse administraatori vaikeparooliga ja tagab, et saame administraatori parooli muuta nexus_admin_password.
Kui soovite administraatori parooli pärast esimest installimist muuta, saate selle ajutiselt käsurealt vana parooli vastu muuta. Pärast vahetust nexus_admin_password oma mänguraamatus saate käivitada: