ProHoster > Блог > Nchịkwa > Ịwụnye na configuring Nexus Sonatype iji akụrụngwa dị ka koodu obibia
Ịwụnye na configuring Nexus Sonatype iji akụrụngwa dị ka koodu obibia
Sonatype Nexus bụ ikpo okwu agbakwunyere nke ndị mmepe nwere ike iji proxy, chekwaa ma jikwaa Java (Maven), Docker, Python, Ruby, NPM, Bower oyiyi, ngwugwu RPM, gitlfs, Apt, Go, Nuget, ma kesaa nchekwa ngwanrọ ha.
Gịnị mere ị chọrọ Sonatype Nexus?
Maka ịchekwa ihe arịa nkeonwe;
Maka ịchekwa arịa ndị ebudatara na ịntanetị;
Artifacts akwadoro na ngwungwu Nexus nke Sonatype:
Ọ bụrụ na ị gbanwee gaa na ụdị ọhụrụ, ọrụ ahụ ga-anwa imelite nrụnye Nexus gị.
Ọ bụrụ na ị na-eji ụdị Nexus nke ochie karịa nke kachasị ọhụrụ, ị ga-ahụ na ị naghị eji atụmatụ ndị na-adịghị na ntọhapụ arụnyere (dịka ọmụmaatụ, ebe nchekwa yum dị maka nexus karịrị 3.8.0, git lfs repo). maka nexus karịrị 3.3.0 wdg)
nexus timezone bụ aha mpaghara oge Java, nke nwere ike ịba uru yana nchikota ya na okwu cron ndị a maka ọrụ nexus_scheduled.
Ụzọ ọdụ ụgbọ mmiri na ihe gbara ya gburugburu nke usoro njikọ Java. nexus_default_context_path ga-enwerịrị slash n'ihu mgbe atọrọ ya, dịka: nexus_default_context_path: '/nexus/'.
Onye ọrụ Nexus OS na Otu
nexus_os_group: 'nexus'
nexus_os_user: 'nexus'
Onye ọrụ na ndị otu na-eji faịlụ Nexus ma na-arụ ọrụ a ga-emepụta site na ọrụ ma ọ bụrụ na onye na-efu efu.
nexus_os_user_home_dir: '/home/nexus'
Kwe ka ịgbanwe akwụkwọ ndekọ aha ụlọ maka onye ọrụ nexus
nexus_installation_dir nwere faịlụ arụnyere arụrụ arụ ọrụ
nexus_data_dir nwere nhazi niile, ebe nchekwa na ihe arịa ndị ebudatara. Ụzọ blobstore omenala nexus_data_dir enwere ike ịhazi ya, lee n'okpuru nexus_blobstores.
nexus_tmp_dir nwere faịlụ nwa oge niile. Ewepụla ụzọ ndabara maka redhat /tmp iji merie nsogbu ndị nwere ike ime na usoro nhicha akpaka. Lee #168.
Ndị a bụ ntọala ndabere maka Nexus. Biko agbanwela ụkpụrụ ndị aỌ bụrụ na ịgụbeghị akwụkwọ Nexus usoro chọrọ ebe nchekwa ngalaba ma aghọtaghị ihe ha na-eme.
Dị ka ịdọ aka ná ntị nke abụọ, nke a bụ akụkụ nke akwụkwọ a dị n'elu:
A naghị atụ aro ka ịbawanye ebe nchekwa JVM karịa ụkpụrụ akwadoro na mbọ iji melite arụmọrụ. Nke a nwere ike inwe mmetụta dị iche, na-ebute ọrụ na-adịghị mkpa maka sistemụ arụmọrụ.
Okwuntughe onye nchịkwa
nexus_admin_password: 'changeme'
Okwuntughe akaụntụ “admin” maka ịtọlite . Nke a na-arụ ọrụ naanị na nrụnye ndabara mbụ. Biko hụ [Gbanwee paswọọdụ nchịkwa mgbe echichi mbụ](# change-admin-password-after-first-install) ma ọ bụrụ na ịchọrọ ịgbanwe ya ma emechaa jiri ọrụ.
A na-atụ aro ka ị ghara ịchekwa paswọọdụ gị na ederede doro anya n'ime akwụkwọ egwuregwu, kama ka ị na-eji [ansible-vault encryption] (https://docs.ansible.com/ansible/latest/user_guide/vault.html) (ma inline ma ọ bụ na faịlụ dị iche nke ejiri ya dịka gụnyere_vars)
Nnweta na-amaghị aha site na ndabara
nexus_anonymous_access: false
Akwụsịghị ohere na-amaghị aha site na ndabara. Gụkwuo maka ya ohere na-amaghị aha.
Ụdị mgbanwe ndị a na-achịkwa ka ọrụ ahụ si ejikọta na Nexus API maka inye. Maka ndị ọrụ dị elu naanị. Eleghị anya ị chọghị ịgbanwe ntọala ndabara ndị a
Tọọ SSL Reverse Proxy.
Iji mee nke a, ịkwesịrị ịwụnye httpd. Mara: mgbe maka httpd_setup_enable setịpụrụ urutrue, kọntaktị nexus 127.0.0.1:8081, si otú bụghị A na-enweta ya ozugbo site na ọdụ ụgbọ mmiri HTTP 8081 site na adreesị IP mpụga.
Aha nnabata eji eme ihe bụ nexus_public_hostname. Ọ bụrụ na ịchọrọ aha dị iche iche maka ihe ụfọdụ, ị nwere ike ịtọ httpd_server_name nwere ihe dị iche.
С httpd_copy_ssl_files: true (site na ndabara) asambodo ndị dị n'elu kwesịrị ịdị na ndekọ ndekọ egwu gị, a ga-e copyomi ya na sava wee hazie ya na apache.
Ọ bụrụ na ịchọrọ iji asambodo dị na sava ahụ, wụnye httpd_copy_ssl_files: false ma wepụta mgbanwe ndị a:
# 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 bụ nhọrọ ma ekwesịrị ịhapụ ya na ịtọghị ya ma ọ bụrụ na ịchọghị ịhazi faịlụ yinye
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
Ndepụta nke ihe ùgwù maka ntọala. Lelee akwụkwọ na GUI ka ịlele mgbanwe ndị achọrọ ka edobe dabere na ụdị ihe ùgwù ahụ.
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
Maapụ Ldap nke ndị ọrụ/ọrụ. Steeti absent ga-ewepụ ọrụ n'aka onye ọrụ dị adị ma ọ bụrụ na ọ dị adị.
A naghị ehichapụ ndị ọrụ Ldap. Ịgbalị ịtọ ọrụ maka onye ọrụ adịghị adị ga-ebute mperi.
Ndị na-ahọpụta ọdịnaya
nexus_content_selectors:
- name: docker-login
description: Selector for docker login privilege
search_expression: format=="docker" and path=~"/v2/"
Maka ozi ndị ọzọ gbasara onye na-ahọrọ ọdịnaya, hụ Akwụkwọ.
Iji jiri nhọpụta ọdịnaya, tinye ihe ùgwù ọhụrụ yana type: repository-content-selector na mkpacontentSelector
Hichapụ ebe nchekwa na nexus wụnye nhazi mbụ nke ndabara. A na-eme usoro a naanị na wụnye oge mbụ (mgbe nexus_data_dir a chọpụtala na ọ tọgbọ chakoo).
Iwepu ebe nchekwa na ndabara ndabara maka Nexus. A na-eme usoro a naanị n'oge nrụnye mbụ (mgbe nexus_data_dir efu).
nexus_delete_default_blobstore: false
Hichapụ ihe ndabara blobstore na nexus wụnye nhazi mbụ nke ndabara. Enwere ike ime nke a naanị ma ọ bụrụ nexus_delete_default_repos: true na ebe nchekwa niile ahaziri (lee n'okpuru) nwere nkọwa doro anya blob_store: custom. A na-eme usoro a naanị na wụnye oge mbụ (mgbe nexus_data_dir a chọpụtala na ọ tọgbọ chakoo).
Ewepụ nchekwa blob (ihe arụ ọrụ ọnụọgụ abụọ) nwere nkwarụ site na ndabara site na nhazi mbụ. Iji wepu nchekwa blob (ihe arụ ọrụ ọnụọgụ abụọ), gbanyụọ nexus_delete_default_repos: true. A na-eme usoro a naanị n'oge nrụnye mbụ (mgbe nexus_data_dir efu).
Ụlọ ahịa blobstore imepụta. Enweghị ike imelite ụzọ blobstore na ebe nchekwa ebe nchekwa mgbe emechara mbụ (mmelite ọ bụla a ga-eleghara anya na inyeghachi ya).
A na-enye nhazi blobstore na S3 ka ọ dị mma na ọ bụghị akụkụ nke ule akpaaka anyị na-agba na travis. Biko mara na ịchekwa na S3 ka akwadoro naanị maka oge etinyere na AWS.
Okike Ụlọ ahịa blobstore. Enweghị ike imelite ụzọ nchekwa na ebe nchekwa ka emechara mbụ (mmelite ọ bụla a ga-eleghara anya mgbe arụnyere ọzọ).
A na-ewepụta ebe nchekwa blob na S3 ka ọ dị mma. Biko mara na nchekwa S3 ka akwadoro maka ihe atụ etinyere na AWS.
Ejikọtara ụdị nchekwa atọ niile yana ụkpụrụ ndabara ndị a:
_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 na yum ụdị nchekwa nchekwa:
-ahụ defaults/main.yml maka nhọrọ ndị a:
Docker, Pypi, Raw, Rubygems, Bower, NPM, Git-LFS na yum repositories nwere nkwarụ site na ndabara:
Lee defaults/main.yml maka nhọrọ ndị a:
Agaghị ahazi ndabere ruo mgbe ị gbanwere nexus_backup_configure в true.
N'okwu a, a ga-ahazi ọrụ ederede ahaziri ka ọ rụọ ọrụ na Nexus
na etiti oge akọwapụtara na nexus_backup_cron (ndabere 21:00 kwa ụbọchị).
Lee [groovy template for a task](templates/backup.groovy.j2) maka nkọwa.
Ọrụ a ahaziri anọghị na ndị ọzọ nexus_scheduled_tasksnke ị
kwupụta n'akwụkwọ egwuregwu gị.
Ọ bụrụ na ịchọrọ ịtụgharị/ihichapụ ndabere, wụnye nexus_backup_rotate: true ma hazie ọnụọgụ nkwado ndabere na mpaghara ịchọrọ ịchekwa site na iji nexus_backup_keep_rotations (nke mbụ 4).
Mgbe ị na-eji ntụgharị, ọ bụrụ na ịchọrọ ịchekwa ohere diski ọzọ n'oge usoro ndabere,
Ị nwere ike ịwụnye nexus_backup_rotate_first: true. Nke a ga-ahazi tupu ntụgharị/ihichapụ tupu ndabere. Site na ndabara, ntụgharị na-eme mgbe emechara ndabere. Biko mara na na nke a, ndabere ochie
a ga-ehichapụ tupu emee nkwado ndabere ugbu a.
Usoro mgbake
Jiri paramita mee akwụkwọ egwuregwu -e nexus_restore_point=<YYYY-MM-dd-HH-mm-ss>
(dịka ọmụmaatụ, 2017-12-17-21-00-00 maka Disemba 17, 2017 na 21:00
Na-ewepu nexus
Ịdọ aka ná ntị: Nke a ga-ehichapụ data gị ugbu a kpamkpam. Jide n'aka na ị ga-eme nkwado ndabere na mbụ ma ọ bụrụ na ọ dị mkpa
Jiri mgbanwe nexus_purgeọ bụrụ na ịchọrọ ịmalitegharị site na ọkọ ma tinyegharịa ihe atụ nexus na-ewepụ data niile.
E kwesịghị ịgbanwe nke a n'akwụkwọ egwuregwu gị. Nke a na-ejupụta na paswọọdụ nchịkwa Nexus nke ndabara mgbe arụnyere na mbụ wee hụ na anyị nwere ike ịgbanwe paswọọdụ nchịkwa ka ọ bụrụ nexus_admin_password.
Ọ bụrụ na ịchọrọ ịgbanwe paswọọdụ nchịkwa mgbe nrụnye mbụ gasịrị, ị nwere ike ịgbanwe ya nwa oge gaa na paswọọdụ ochie site na ahịrị iwu. Mgbe mgbanwe nexus_admin_password N'ime akwụkwọ egwuregwu gị ị nwere ike ịgba ọsọ: