ProHoster > Blog > Tsamaiso > Ho kenya le ho lokisa Nexus Sonatype ka ho sebelisa mekhoa ea motheo e le mokhoa oa khoutu
Ho kenya le ho lokisa Nexus Sonatype ka ho sebelisa mekhoa ea motheo e le mokhoa oa khoutu
Sonatype Nexus ke sethala se kopantsoeng seo bahlahisi ba ka khonang ho ba moemeli, ho boloka le ho laola ho itšetleha ka Java (Maven), Docker, Python, Ruby, NPM, litšoantšo tsa Bower, liphutheloana tsa RPM, gitlfs, Apt, Go, Nuget, le ho aba ts'ireletso ea software ea bona.
Ke hobane'ng ha u hloka Sonatype Nexus?
Bakeng sa ho boloka li-artifacts tsa poraefete;
Bakeng sa li-artifacts tsa caching tse jarollotsoeng Inthaneteng;
Lintho tsa khale tse tšehetsoeng ka har'a sephutheloana sa Nexus sa Sonatype:
Liphetoho tse nang le boleng ba kamehla (bona default/main.yml):
Liphetoho tse akaretsang
nexus_version: ''
nexus_timezone: 'UTC'
Ka ho sa feleng, karolo e tla kenya mofuta oa morao-rao o fumanehang oa Nexus. O ka lokisa phetolelo ka ho fetola phetoho nexus_version. Sheba liphetolelo tse fumanehang ho https://www.sonatype.com/download-oss-sonatype.
Haeba u fetohela ho mofuta o mocha, karolo e tla leka ho ntlafatsa Nexus ea hau.
Haeba u sebelisa mofuta oa khale oa Nexus ho feta oa morao-rao, u lokela ho etsa bonnete ba hore ha u sebelise likarolo tse sieo tokollong e kentsoeng (mohlala, hosting yum repositories e teng bakeng sa nexus e kholo ho feta 3.8.0, git lfs repo. bakeng sa khokahano e kholo ho feta 3.3.0 joalo-joalo)
nexus timezone ke lebitso la sebaka sa nako sa Java, se ka thusang hammoho le mantsoe a latelang a cron bakeng sa nexus_scheduled tasks.
Tsela ea boema-kepe le moelelo oa ts'ebetso ea khokahano ea Java. nexus_default_context_path e tlameha ho ba le slash ea pele ha e setiloe, mohlala: nexus_default_context_path: '/nexus/'.
Mosebelisi le Sehlopha sa Nexus OS
nexus_os_group: 'nexus'
nexus_os_user: 'nexus'
Mosebelisi le sehlopha se sebelisoang ho ba le lifaele tsa Nexus le ho tsamaisa ts'ebeletso se tla hlahisoa ke karolo haeba e le sieo.
nexus_os_user_home_dir: '/home/nexus'
Lumella ho fetola bukana ea kamehla ea lapeng bakeng sa mosebelisi oa nexus
nexus_installation_dir e na le lifaele tse kentsoeng tse ka sebetsoang
nexus_data_dir e na le litlhophiso tsohle, polokelo ea polokelo le lintho tsa khale tse jarollotsoeng. Litsela tse ikhethileng tsa li-blobstore nexus_data_dir ka customized, bona mona ka tlase nexus_blobstores.
nexus_tmp_dir e na le lifaele tsohle tsa nakoana. Tsela ea kamehla ea redhat e tlositsoe /tmp ho hlola mathata a ka bang teng ka mekhoa ea ho hloekisa ka boiketsetso. Sheba #168.
E le temoso ea bobeli, mona ke karolo ea tokomane e ka holimo:
Ha e khothalletsoe ho eketsa mohopolo oa qubu ea JVM ho feta litekanyetso tse khothaletsoang molemong oa ho ntlafatsa ts'ebetso. Sena se kanna sa ba le phello e fapaneng, e bakang mosebetsi o sa hlokahaleng bakeng sa sistimi e sebetsang.
Password ea molaoli
nexus_admin_password: 'changeme'
"admin" password ea akhaonto bakeng sa ho seta. Sena se sebetsa feela ts'ebetsong ea pele ea kamehla. Ka kopo bona [Fetola phasewete ea admin ka mor'a ho kenya pele](# fetola-admin-password-after-first-install) haeba u batla ho e fetola hamorao u sebelisa karolo e itseng.
Ho khothaletsoa ka matla hore u se ke ua boloka phasewete ea hau ka mongolo o hlakileng bukeng ea ho bapala, empa ho sebelisa [ansible-vault encryption] (https://docs.ansible.com/ansible/latest/user_guide/vault.html) (ebang ke inline kapa faeleng e arohaneng e laetsoeng ka mohlala include_vars)
Mokhoa oa ho fihlella o sa tsejoe ka mokhoa oa kamehla
nexus_anonymous_access: false
Mokhoa oa ho kena o sa tsebahaleng o tingoa ka ho sa feleng. Bala haholoanyane ka phihlello e sa tsejoeng.
Liphetoho tsena li laola hore na karolo e hokahana joang le Nexus API bakeng sa ho fana. Bakeng sa basebelisi ba tsoetseng pele feela. Mohlomong ha u batle ho fetola litlhophiso tsena tsa kamehla
Beha SSL Reverse Proxy.
Ho etsa sena o hloka ho kenya httpd. Tlhokomeliso: neng bakeng sa httpd_setup_enable seta bolengtrue, mabitso a amanang 127.0.0.1:8081, kahoo ha e fumaneha ka kotloloho ka HTTP port 8081 ho tsoa atereseng ea IP e kantle.
Lebitso la moamoheli le sebelisitsoeng ke nexus_public_hostname. Haeba o hloka mabitso a fapaneng ka lebaka le itseng, o ka seta httpd_server_name ka moelelo o fapaneng.
С httpd_copy_ssl_files: true (ka ho sa feleng) litifikeiti tse ka holimo li lokela ho ba teng bukeng ea hau ea playbook mme li tla kopitsoa ho seva ebe li hlophisoa ka apache.
Haeba o batla ho sebelisa litifikeiti tse teng ho seva, kenya httpd_copy_ssl_files: false 'me u fane ka mefuta e latelang:
# 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 ke boikhethelo 'me e lokela ho tloheloa e sa hlophisoa haeba u sa batle ho hlophisa faele ea ketane
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
Lethathamo la litokelo bakeng sa litlhophiso. Sheba litokomane le GUI ho lekola hore na ke mefuta efe e lokelang ho hlophisoa ho latela mofuta oa tokelo.
Lintlha tsena li kopantsoe le litekanyetso tse latelang tsa kamehla:
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
Lethathamo la basebelisi ba lehae (bao e seng ba LDAP) /akhaonto ho theha ho nexus.
Lenane la basebedisi ba lehae (bao e seng ba LDAP) kapa diakhaonto tseo o ka di etsang ho Nexus.
Ldap 'mapa oa basebelisi/karolo. Naha absent e tla tlosa likarolo ho tsoa ho mosebelisi ea seng a ntse a le teng.
Basebelisi ba Ldap ha ba hlakoloe. Ho leka ho beha karolo bakeng sa mosebelisi ea seng teng ho tla baka phoso.
Bakhethi ba litaba
nexus_content_selectors:
- name: docker-login
description: Selector for docker login privilege
search_expression: format=="docker" and path=~"/v2/"
Bakeng sa tlhaiso-leseling e batsi ka mokhethoa oa litaba, bona Litokomane.
Ho sebelisa sekhetho sa litaba, eketsa monyetla o mocha ka type: repository-content-selector le malebacontentSelector
Hlakola li-repositories ho tloha ho nexus install configuration ea pele ea kamehla. Mohato ona o etsoa feela ha ho kengoa lekhetlo la pele (ha nexus_data_dir e fumanoe e se na letho).
Ho tlosa lipolokelo ho tlhophiso ea kamehla ea Nexus. Mohato ona o etsoa feela nakong ea ho kenya pele (ha nexus_data_dir qeka).
nexus_delete_default_blobstore: false
Hlakola blobstore ea kamehla ho tloha ho nexus install configuration ea pele ea kamehla. Sena se ka etsoa feela haeba nexus_delete_default_repos: true 'me lipolokelo tsohle tse hlophisitsoeng (sheba ka tlase) li na le lintlha tse hlakileng blob_store: custom. Mohato ona o etsoa feela ha ho kengoa lekhetlo la pele (ha nexus_data_dir e fumanoe e se na letho).
Ho tlosa blob storage (binary artifacts) ho koetsoe ka ho sa feleng ho tloha ho tlhophiso ea pele. Ho tlosa blob storage (binary artifacts), tima nexus_delete_default_repos: true. Mohato ona o etsoa feela nakong ea ho kenya pele (ha nexus_data_dir qeka).
Li-Blobstores ho bopa. Tsela ea blobstore le polokelo ea polokelo ea polokelo e ke ke ea ntlafatsoa ka mor'a tlhahiso ea pele (ntlafatso efe kapa efe mona e tla hlokomolohuoa mabapi le tokiso hape).
Ho lokisa blobstore ho S3 ho fanoe ka mokhoa o bonolo 'me ha se karolo ea liteko tse ikemetseng tseo re li etsang ho travis. Ka kopo hlokomela hore ho boloka ho S3 ho khothaletsoa feela bakeng sa maemo a sebelisitsoeng ho AWS.
Pōpo Li-Blobstores. Tsela ea polokelo le polokelo ea polokelo e ke ke ea nchafatsoa ka mor'a pōpo ea pele (ntlafatso leha e le efe mona e tla hlokomolohuoa ha e kenngoa hape).
Ho theha polokelo ea blob ho S3 ho fanoa joalo ka boiketlo. Ka kopo hlokomela hore polokelo ea S3 e khothaletsoa feela maemong a sebelisoang ho AWS.
nexus_repos_maven_hosted:
- name: private-release
version_policy: release
write_policy: allow_once # one of "allow", "allow_once" or "deny"
Maven libaka tsa polokelo tse tšoaretsoeng tlhophiso. Negative cache config ke boikhethelo 'me e tla ikhethela ho litekanyetso tse ka holimo haeba e siiloe.
Moralo libaka tsa polokelo tse tšoaretsoeng Maven. Tlhophiso e mpe ea "cache" (-1) ke ea boikhethelo 'me e tla ikamahanya le litekanyetso tse ka holimo haeba e sa boleloa.
nexus_repos_maven_group:
- name: public
member_repos:
- central
- jboss
Mefuta eohle e meraro ea polokelo e kopantsoe le litekanyetso tse latelang tsa kamehla:
_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 le mefuta ea polokelo ea yum:
sheba defaults/main.yml bakeng sa likhetho tsena:
Docker, Pypi, Raw, Rubygems, Bower, NPM, Git-LFS le yum repositories li holofalitsoe ka ho sa feleng:
Bona defaults/main.yml bakeng sa likhetho tsena:
Ka kopo elelloa hore o kanna oa hloka ho lumella libaka tse itseng tsa ts'ireletso haeba u batla ho sebelisa mefuta e meng ea polokelo ntle le maven. Sena ke leshano ka ho sa feleng
bekapo e ke ke ea hlophisoa ho fihlela u switjha nexus_backup_configure в true.
Tabeng ena, mosebetsi o hlophisitsoeng oa script o tla hlophisoa hore o sebetse ho Nexus
ka nako e boletsoeng ho nexus_backup_cron (ka ho sa feleng 21:00 letsatsi le letsatsi).
Sheba [groovy template bakeng sa mosebetsi ona](templates/backup.groovy.j2) bakeng sa lintlha.
Mosebetsi ona o hlophisitsoeng o ikemetse ho tse ling nexus_scheduled_taskstseo u
phatlalatsa bukeng ea hau ea ho bapala.
Haeba u batla ho potoloha / hlakola li-backups, kenya nexus_backup_rotate: true 'me u hlophise palo ea li-backups tseo u ka ratang ho li boloka u li sebelisa nexus_backup_keep_rotations (ka ho sa feleng 4).
Ha u sebelisa ho potoloha, haeba u batla ho boloka sebaka se eketsehileng sa disk nakong ea ts'ebetso ea ho boloka,
U ka kenya nexus_backup_rotate_first: true. Sena se tla hlophisa ho potoloha / ho hlakolwa pele ho bekapo. Ka kamehla, ho potoloha ho etsahala ka mor'a hore bekapo e etsoe. Ka kopo hlokomela hore tabeng ena li-backups tsa khale
e tla hlakoloa pele bekapo ea hajoale e etsoa.
Mokhoa oa ho hlaphoheloa
Matha buka ea ho bapala ka parameter -e nexus_restore_point=<YYYY-MM-dd-HH-mm-ss>
(mohlala, 2017-12-17-21-00-00 ka la 17 Tšitoe, 2017 ka 21:00
Ho tlosa khokahano
Tlhokomeliso: Sena se tla hlakola data ea hau ea hajoale ka botlalo. Etsa bonnete ba hore u etsa "backup" pejana haeba ho hlokahala
Sebelisa phetoho nexus_purgehaeba o hloka ho qala bocha ho tloha qalong ebe o kenya mohlala oa nexus ka data eohle e tlositsoeng.
Fetola password ea motsamaisi ka mor'a ho kenya pele
nexus_default_admin_password: 'admin123'
Sena ha sea lokela ho fetoloa bukeng ea hau ea ho bapala. Phapang ena e na le password ea kamehla ea Nexus admin ha e qala ho kenngoa mme e netefatsa hore re ka fetola password ea admin ho nexus_admin_password.
Haeba u batla ho fetola phasewete ea motsamaisi ka mor'a ho kenya pele, u ka e fetola ka nakoana ho password ea khale ho tloha molaong oa taelo. Ka mor'a phetoho nexus_admin_password bukeng ea hau ea ho bapala u ka matha: