ProHoster > Pūnaewele > Nā Administration > Ke hoʻouka a me ka hoʻonohonoho ʻana iā Nexus Sonatype me ka hoʻohana ʻana i ka ʻōnaehana ma ke ʻano he code code
Ke hoʻouka a me ka hoʻonohonoho ʻana iā Nexus Sonatype me ka hoʻohana ʻana i ka ʻōnaehana ma ke ʻano he code code
ʻO Sonatype Nexus kahi kahua i hoʻohui ʻia e hiki ai i nā mea hoʻomohala ke koho, mālama a mālama i nā mea hilinaʻi Java (Maven), Docker, Python, Ruby, NPM, nā kiʻi Bower, RPM packages, gitlfs, Apt, Go, Nuget, a puʻunaue i kā lākou polokalamu palekana.
No ke aha ʻoe e pono ai iā Sonatype Nexus?
No ka mālama ʻana i nā mea waiwai pilikino;
No ka mālama ʻana i nā mea waiwai i hoʻoiho ʻia mai ka Pūnaewele;
Kākoʻo ʻia nā mea hana i loko o ka pūʻolo Sonatype Nexus kumu:
Ua hoʻāʻo ʻia kēia kuleana ma CentOS 7, Ubuntu Xenial (16.04) a me Bionic (18.04), Debian Jessie a me Stretch
jmespath Pono e hoʻokomo ʻia ka waihona ma ke kahua hana kahi e holo ai ka puke pāʻani. E hoʻouka: sudo pip install -r requirements.txt
E mālama i ka waihona puke pāʻani (laʻana ma lalo) i ka faile nexus.yml
Holo i ka hoʻokomo ʻana o nexus ansible-playbook -i host nexus.yml
He laʻana ansible-playbook no ka hoʻokomo ʻana i ka nexus me ka ʻole o LDAP me Maven (java), Docker, Python, Ruby, NPM, Bower, RPM a me gitlfs repositories.
Nā mea hoʻololi me nā waiwai paʻamau (e ʻike default/main.yml):
Nā hoʻololi maʻamau
nexus_version: ''
nexus_timezone: 'UTC'
Ma ka paʻamau, e hoʻokomo ka hana i ka mana hou loa o Nexus. Hiki iā ʻoe ke hoʻoponopono i ka mana ma ka hoʻololi ʻana i ka loli nexus_version. E nānā i nā mana i loaʻa ma https://www.sonatype.com/download-oss-sonatype.
Inā hoʻololi ʻoe i kahi mana hou, e hoʻāʻo ka hana e hoʻohou i kāu hoʻonohonoho Nexus.
Inā ʻoe e hoʻohana nei i kahi mana kahiko o Nexus ma mua o ka mea hou loa, pono ʻoe e hōʻoia ʻaʻole ʻoe e hoʻohana nei i nā hiʻohiʻona ʻaʻole i loaʻa i ka hoʻokuʻu ʻia (no ka laʻana, loaʻa nā waihona yum no ka nexus ʻoi aku ma mua o 3.8.0, git lfs repo. no ka nexus ʻoi aku ma mua o 3.3.0 etc.)
nexus timezone ʻO ia ka inoa o ka ʻāpana manawa Java, hiki ke hoʻohana ʻia i ka hui pū ʻana me nā ʻōlelo cron aʻe no nā hana nexus_scheduled.
ʻO ke awa a me ke ala pōʻaiapili o ke kaʻina hana pili Java. nexus_default_context_path Pono e loaʻa i kahi slash i mua ke hoʻonohonoho ʻia, e laʻa: nexus_default_context_path: '/nexus/'.
Mea hoʻohana a hui pū ʻo Nexus OS
nexus_os_group: 'nexus'
nexus_os_user: 'nexus'
ʻO ka mea hoʻohana a me ka hui i hoʻohana i nā faila Nexus a holo i ka lawelawe e hana ʻia e ka hana inā nalo kekahi.
nexus_os_user_home_dir: '/home/nexus'
E ʻae i ka hoʻololi ʻana i ka papa kuhikuhi home paʻamau no ka mea hoʻohana nexus
nexus_installation_dir loaʻa nā faila i hoʻokomo ʻia
nexus_data_dir Loaʻa nā hoʻonohonoho āpau, nā waihona a me nā mea i hoʻoiho ʻia. Nā ala blobstore maʻamau nexus_data_dir hiki ke hoʻopilikino ʻia, e ʻike ma lalo nexus_blobstores.
nexus_tmp_dir Loaʻa nā faila manawa āpau. Ua hoʻoneʻe ʻia ke ala paʻamau no redhat mai /tmp e lanakila i nā pilikia me nā kaʻina hana hoʻomaʻemaʻe ʻakomi. E nana #168.
Ke hoʻonohonoho nei i ka hoʻohana ʻana i ka hoʻohana hoʻomanaʻo Nexus JVM
ʻO kēia nā hoʻonohonoho paʻamau no Nexus. Mai hoʻololi i kēia mau waiwaiInā ʻaʻole ʻoe i heluhelu ʻāpana hoʻomanaʻo pono pūnaewele nexus a maopopo ole ka lakou hana ana.
Ma ke ʻano he ʻōlelo aʻo ʻelua, eia kahi ʻāpana mai ka palapala i luna.
ʻAʻole ʻōlelo ʻia e hoʻonui i ka hoʻomanaʻo JVM heap ma mua o nā waiwai i manaʻo ʻia i ka hoʻāʻo e hoʻomaikaʻi i ka hana. Loaʻa paha kēia i ka hopena kū'ē, e hopena i ka hana pono ʻole no ka ʻōnaehana hana.
ʻōlelo huna luna
nexus_admin_password: 'changeme'
ʻO ka ʻōlelo huna "admin" no ka hoʻonohonoho. Hoʻohana wale kēia i ka hoʻonohonoho paʻamau mua. E ʻoluʻolu e ʻike [Change admin password after first installation](# change-admin-password-after-first-install) inā makemake ʻoe e hoʻololi iā ia ma hope me ka hoʻohana ʻana i kahi kuleana.
Manaʻo ikaika ʻia ʻaʻole e mālama i kāu ʻōlelo huna ma kahi kikokikona ma ka playbook, akā e hoʻohana i [ansible-vault encryption] (https://docs.ansible.com/ansible/latest/user_guide/vault.html) (ma ka laina a i ʻole ma kahi faila ʻokoʻa i hoʻouka ʻia me ka laʻana. include_vars)
Loaʻa inoa ʻole ma ka paʻamau
nexus_anonymous_access: false
Ua pio ke komo inoa ʻole ma ka paʻamau. E heluhelu hou e pili ana komo inoa ʻole.
Mālama kēia mau ʻano hoʻololi i ka pili ʻana o ke kuleana i ka Nexus API no ka hoʻolako ʻana. No nā mea hoʻohana kiʻekiʻe wale nō. ʻAʻole paha ʻoe makemake e hoʻololi i kēia mau hoʻonohonoho paʻamau
Kau SSL Reverse Proxy.
No ka hana ʻana i kēia, pono ʻoe e hoʻokomo i ka httpd. Nānā: i ka manawa no httpd_setup_enable hoʻonohonoho waiwaitrue, nā pilina pili 127.0.0.1:8081, pēlā ole hiki ke kiʻi pololei ʻia ma o HTTP port 8081 mai ka helu IP waho.
ʻO ka inoa hostname i hoʻohana ʻia nexus_public_hostname. Inā makemake ʻoe i nā inoa like ʻole no kekahi kumu, hiki iā ʻoe ke hoʻonohonoho httpd_server_name me ke ano okoa.
С httpd_copy_ssl_files: true (ma ka paʻamau) pono nā palapala hōʻoia ma luna o kāu papa kuhikuhi puke a e kope ʻia i ke kikowaena a hoʻonohonoho ʻia ma apache.
Inā makemake ʻoe e hoʻohana i nā palapala hōʻoia ma ka kikowaena, e hoʻouka httpd_copy_ssl_files: false a hāʻawi i nā ʻano like ʻole:
# 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 he koho a pono e waiho ʻole ʻia inā ʻaʻole ʻoe makemake e hoʻopilikino i ka faila kaulahao
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
papa inoa nā pono no nā hoʻonohonoho. E nānā i ka palapala a me ka GUI e nānā i nā ʻano like ʻole e pono e hoʻonohonoho ʻia ma muli o ke ʻano o ka pono.
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
Ka papa inoa o nā mea hoʻohana/nā moʻokāki kūloko (non-LDAP) e hana ai ma nexus.
Ka papa inoa o nā mea hoʻohana/nā moʻokāki kūloko (ʻaʻole LDAP) e hana ma Nexus.
Ldap palapala 'āina o nā mea hoʻohana / kuleana. Mokuʻāina absent e wehe i nā kuleana mai kahi mea hoʻohana i kēia manawa inā loaʻa kekahi.
ʻAʻole holoi ʻia nā mea hoʻohana Ldap. Ke ho'āʻo nei e hoʻonoho i kahi kuleana no ka mea hoʻohana ʻole e loaʻa i kahi hewa.
Nā mea koho maʻiʻo
nexus_content_selectors:
- name: docker-login
description: Selector for docker login privilege
search_expression: format=="docker" and path=~"/v2/"
No ka ʻike hou aku e pili ana i ka mea koho maʻiʻo, e ʻike Palapala.
No ka hoʻohana ʻana i ka mea koho maʻiʻo, hoʻohui i kahi pono hou me type: repository-content-selector a pilicontentSelector
Holoi i nā waihona mai ka nexus e hoʻokomo i ka hoʻonohonoho paʻamau. Hoʻokō ʻia kēia hana ma ka hoʻokomo mua ʻana (i ka manawa nexus_data_dir ua ʻike ʻia me ka nele).
Ke wehe nei i nā waihona mai ka hoʻonohonoho paʻamau no Nexus. Hana ʻia kēia hana i ka wā o ka hoʻokomo mua ʻana (i ka wā nexus_data_dir nele).
nexus_delete_default_blobstore: false
Holoi i ka blobstore paʻamau mai ka nexus install mua hoʻonohonoho paʻamau. Hiki ke hana i keia ina wale no nexus_delete_default_repos: true a me nā waihona waihona i hoʻonohonoho ʻia (e ʻike ma lalo) he kikoʻī blob_store: custom. Hoʻokō ʻia kēia hana ma ka hoʻokomo mua ʻana (i ka manawa nexus_data_dir ua ʻike ʻia me ka nele).
Hoʻopau ʻia ka wehe ʻana i ka waiho ʻana o nā blob (binary artifacts) ma ka paʻamau mai ka hoʻonohonoho mua. No ka wehe ʻana i ka waiho ʻana o nā blob (binary artifacts), hoʻopau nexus_delete_default_repos: true. Hana ʻia kēia hana i ka wā o ka hoʻokomo mua ʻana (i ka wā nexus_data_dir nele).
Blobstores e hana. ʻAʻole hiki ke hōʻano hou ʻia kahi ala blobstore a me kahi blobstore waihona ma hope o ka hana mua ʻana (e nānā ʻole ʻia kekahi mea hou ma ʻaneʻi ma ka hoʻolako hou ʻana).
Hāʻawi ʻia ka hoʻonohonoho ʻana i ka blobstore ma S3 ma ke ʻano he mea maʻalahi a ʻaʻole ia he ʻāpana o nā hoʻokolohua automated a mākou e holo ai ma travis. E ʻoluʻolu e ʻoluʻolu e mālama ʻia ma S3 no nā manawa i kau ʻia ma AWS.
Hana ʻia Blobstores. ʻAʻole hiki ke hōʻano hou ʻia ke ala mālama a me ka waihona waihona ma hope o ka hana mua ʻana (e nānā ʻole ʻia kekahi mea hou ma aneʻi ke kau hou ʻia).
Hāʻawi ʻia ka hoʻonohonoho ʻana i kahi waihona blob ma S3 i mea maʻalahi. E ʻoluʻolu e ʻoluʻolu e ʻōlelo ʻia ka waiho ʻana o S3 no nā manawa i kau ʻia ma AWS.
Hoʻohui ʻia nā ʻano waihona ʻekolu me nā waiwai paʻamau:
_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 a me nā ʻano waihona waihona yum:
ike defaults/main.yml no kēia mau koho:
ʻO Docker, Pypi, Raw, Rubygems, Bower, NPM, Git-LFS a me yum repositories ua hoʻopau ʻia e ka paʻamau:
E nānā defaults/main.yml no kēia mau koho:
E ʻoluʻolu e pono ʻoe e ʻae i kekahi mau ʻāpana palekana inā makemake ʻoe e hoʻohana i nā ʻano waihona ʻē aʻe ma mua o ka maven. He wahaheʻe kēia ma ka paʻamau
ʻAʻole e hoʻonohonoho ʻia ka waihona a hiki i kou hoʻololi ʻana nexus_backup_configure в true.
I kēia hihia, e hoʻonohonoho ʻia ka hana script i hoʻonohonoho ʻia e holo ma Nexus
ma ka manawa i hoakakaia ma nexus_backup_cron (kahi paʻamau 21:00 i kēlā me kēia lā).
E nānā i [groovy template no kēia hana](templates/backup.groovy.j2) no nā kikoʻī.
Kūʻokoʻa kēia hana i hoʻonohonoho ʻia mai nā mea ʻē aʻe nexus_scheduled_taskska mea āu
e hoʻolaha ma kāu puke pāʻani.
Inā makemake ʻoe e hoʻololi / holoi i nā waihona, e hoʻouka nexus_backup_rotate: true a hoʻonohonoho i ka helu o nā waihona āu e makemake ai e mālama me ka hoʻohana ʻana nexus_backup_keep_rotations (paʻamau 4).
I ka hoʻohana ʻana i ka rotation, inā makemake ʻoe e mālama i kahi wahi disk hou i ka wā o ke kaʻina hana hoʻihoʻi,
Hiki iā ʻoe ke hoʻouka nexus_backup_rotate_first: true. E hoʻonohonoho kēia i ka hoʻololi ʻana/ka holoi ʻana ma mua o ka hoʻihoʻi ʻana. Ma ka paʻamau, hoʻololi ʻia ma hope o ka hana ʻana i kahi waihona. E ʻoluʻolu e hoʻomaopopo i kēia hihia i nā backup kahiko
e holoi ʻia ma mua o ka hana ʻana i ka waihona o kēia manawa.
Kaʻina hana hoʻihoʻi
E holo i ka puke pāʻani me ka ʻāpana -e nexus_restore_point=<YYYY-MM-dd-HH-mm-ss>
(no ka laʻana, 2017-12-17-21-00-00 no Dekemaba 17, 2017 ma 21:00
Ke wehe nei i ka nexus
'Ōlelo Aʻo: E holoi loa kēia i kāu ʻikepili o kēia manawa. E hoʻopaʻa ma mua inā pono
E hoʻohana i kahi loli nexus_purgeinā pono ʻoe e hoʻomaka hou mai ka ʻōpala a hoʻokomo hou i ka laʻana nexus me nā ʻikepili āpau.
E hoʻololi i ka ʻōlelo huna luna ma hope o ka hoʻokomo mua ʻana
nexus_default_admin_password: 'admin123'
ʻAʻole pono e hoʻololi i kēia i kāu puke pāʻani. Hoʻopiha ʻia kēia ʻano hoʻololi me ka ʻōlelo huna admin Nexus paʻamau i ka wā i hoʻokomo mua ʻia a hōʻoia e hiki iā mākou ke hoʻololi i ka ʻōlelo huna admin nexus_admin_password.
Inā makemake ʻoe e hoʻololi i ka ʻōlelo huna luna ma hope o ka hoʻokomo mua ʻana, hiki iā ʻoe ke hoʻololi iā ia i ka ʻōlelo huna kahiko mai ka laina kauoha. Ma hope o ka hoʻololi nexus_admin_password ma kāu puke pāʻani hiki iā ʻoe ke holo: