ProHoster > Блог > Whakahaerenga > Te whakauru me te whirihora i te Nexus Sonatype ma te whakamahi i te hanganga hei huarahi waehere
Te whakauru me te whirihora i te Nexus Sonatype ma te whakamahi i te hanganga hei huarahi waehere
Ko te Sonatype Nexus he papaa whakauru e taea ai e nga kaiwhakawhanake te takawaenga, te penapena me te whakahaere i nga whakawhirinakitanga Java (Maven), Docker, Python, Ruby, NPM, whakaahua Bower, kete RPM, gitlfs, Apt, Haere, Nuget, me te tohatoha i to raatau haumarutanga rorohiko.
He aha koe e hiahia ai ki te Sonatype Nexus?
Mo te penapena taonga motuhake;
Mo te keteroki taonga ka tangohia mai i te Ipurangi;
Nga mea toi e tautokohia ana i roto i te kete taketake Sonatype Nexus:
Taurangi me nga uara taunoa (tirohia default/main.yml):
Taurangi whānui
nexus_version: ''
nexus_timezone: 'UTC'
Ma te taunoa, ka whakauruhia e te mahi te putanga hou o Nexus. Ka taea e koe te whakatika i te putanga ma te huri i te taurangi nexus_version. Tirohia nga putanga e waatea ana i https://www.sonatype.com/download-oss-sonatype.
Mena ka huri koe ki tetahi putanga hou ake, ka ngana te mahi ki te whakahou i to whakaurunga Nexus.
Mena kei te whakamahi koe i tetahi putanga tawhito o Nexus atu i te mea hou, me whakarite koe kaore koe i te whakamahi i nga ahuatanga kaore i te waatea i roto i te tukunga kua whakauruhia (hei tauira, kei te waatea nga whare putunga yum mo te nexus nui ake i te 3.8.0, git lfs repo. mo te nohonga nui ake i te 3.3.0 etc.)
nexus timezone Ko te ingoa o te rohe wa Java, ka whai hua ki te whakakotahi me nga kupu cron e whai ake nei mo nga mahi nexus_scheduled.
Ko te tauranga me te ara horopaki o te tukanga hononga Java. nexus_default_context_path me whai rītaha whakamua ina whakaritea, hei tauira: nexus_default_context_path: '/nexus/'.
Nexus OS Kaiwhakamahi me te Rōpū
nexus_os_group: 'nexus'
nexus_os_user: 'nexus'
Ko te kaiwhakamahi me te roopu i whakamahia ki te pupuri i nga konae Nexus me te whakahaere i te ratonga ka hangaia e te mahi mena kei te ngaro tetahi.
nexus_os_user_home_dir: '/home/nexus'
Whakaaetia te huri i te whaiaronga kaainga taunoa mo te kaiwhakamahi nohonga
nexus_installation_dir kei roto i nga konae ka taea te whakahaere
nexus_data_dir kei roto katoa nga whirihoranga, nga putunga me nga taonga toi kua tangohia. Ko nga ara o te whare putunga ritenga nexus_data_dir Ka taea te whakarite, tirohia i raro nei nexus_blobstores.
nexus_tmp_dir kei roto nga kōnae rangitahi katoa. Kua nukuhia te ara taunoa mo redhat mai /tmp ki te hinga i nga raru pea me nga tikanga horoi aunoa. Tirohia te #168.
Hei whakatūpato tuarua, anei tētahi wāhanga o te tuhinga o runga ake nei:
Kaore i te tūtohutia kia nui ake te mahara JVM ki tua atu i nga uara kua tohua hei whakapai ake i nga mahi. Ko tenei pea ka pa ke atu, ka puta he mahi koretake mo te punaha whakahaere.
Kupuhipa kaiwhakahaere
nexus_admin_password: 'changeme'
Ko te kupuhipa pūkete "admin" mo te tatūnga. Ka mahi noa tenei i runga i te whakaurunga taunoa tuatahi. Tirohia koa [Hurihia te kupuhipa kaiwhakahaere i muri i te whakaurunga tuatahi](# change-admin-password-after-first-install) ki te hiahia koe ki te huri i muri mai ma te whakamahi i tetahi mahi.
E tino tūtohutia ana kia kaua e penapena i to kupu huna ki roto i nga tuhinga marama ki te pukapuka takaro, engari me whakamahi [ansible-vault encryption] (https://docs.ansible.com/ansible/latest/user_guide/vault.html) (raina, kei roto ranei i tetahi konae motuhake kua utaina hei tauira, whakauru_vars)
Te uru ingoamuna ma te taunoa
nexus_anonymous_access: false
Kua monoa te uru ingoamuna ma te taunoa. Pānuitia atu mo uru ingoamuna.
Ka whakahaere enei taurangi me pehea te hono o te mahi ki te Nexus API mo te whakarato. Mo nga kaiwhakamahi matatau anake. Kaore pea koe e hiahia ki te whakarereke i enei tautuhinga taunoa
Tāuta Takawaenga Whakamuri SSL.
Ki te mahi i tenei me whakauru koe i te httpd. Tuhipoka: ina mo httpd_setup_enable whakaritea uaratrue, hononga hono 127.0.0.1:8081, penei e kore te uru tika ma te tauranga HTTP 8081 mai i te wahitau IP o waho.
Ko te ingoa kaihautū taunoa i whakamahia ko nexus_public_hostname. Mena ka hiahia koe ki etahi ingoa rereke mo etahi take, ka taea e koe te whakarite httpd_server_name me te tikanga rereke.
С httpd_copy_ssl_files: true (ma te taunoa) me noho nga tiwhikete i runga ake nei i roto i to raarangi pukapuka takaro ka kapea ki te tūmau ka whirihorahia ki te apache.
Mena kei te hiahia koe ki te whakamahi i nga tiwhikete o mua i runga i te tūmau, tāuta httpd_copy_ssl_files: false me te whakarato i nga taurangi e whai ake nei:
# 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 mea whiriwhiri, me waiho kia kore e tautuhi mena kaore koe e hiahia ki te whakarite i te konae mekameka
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
Tuhinga o mua whai mana mo nga tautuhinga. Titiro ki nga tuhinga me te GUI hei tirotiro ko wai nga taurangi me tautuhi i runga i te momo mana.
Ka honoa enei huānga me nga uara taunoa e whai ake nei:
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
Rarangi kaiwhakamahi/putea paetata (kore-LDAP) hei hanga i roto i te nohonga.
Rārangi o ngā kaiwhakamahi/pūkete ā-rohe (kore-LDAP) hei hanga ki Nexus.
Mahere Ldap o nga kaiwhakamahi/mahi. State absent ka tangohia nga mahi mai i tetahi kaiwhakamahi o mua mena kei te noho tonu tetahi.
Kaore nga kaiwhakamahi Ldap e mukua. Ko te ngana ki te tautuhi i tetahi waahi mo te kaiwhakamahi kore-kore ka puta he hapa.
Kaiwhiringa ihirangi
nexus_content_selectors:
- name: docker-login
description: Selector for docker login privilege
search_expression: format=="docker" and path=~"/v2/"
Mo etahi atu korero mo te kaikowhiri ihirangi, tirohia Tuhinga.
Hei whakamahi i te kaikowhiri ihirangi, taapirihia he mana hou type: repository-content-selector me te whai takecontentSelector
Mukua nga putunga mai i te hononga whakauru i te whirihoranga taunoa tuatahi. Ka mahia tenei taahiraa i te wa tuatahi ka whakauru (ka nexus_data_dir kua kitea kau).
Te tango i nga putunga mai i te whirihoranga taunoa mo Nexus. Ka mahia tenei taahiraa i te wa o te whakaurunga tuatahi (ina nexus_data_dir kau).
nexus_delete_default_blobstore: false
Mukua te toa taunoa mai i te whakaurunga whirihoranga taunoa tuatahi. Ka taea tenei mehemea nexus_delete_default_repos: true me nga putunga whirihora katoa (tirohia ki raro) he marama blob_store: custom. Ka mahia tenei taahiraa i te wa tuatahi ka whakauru (ka nexus_data_dir kua kitea kau).
Ko te tango i te putunga putunga (nga taonga toi-rua) ka monoa ma te taunoa mai i te whirihoranga tuatahi. Hei tango i te putunga putunga (nga taonga hangarua), whakawetohia nexus_delete_default_repos: true. Ka mahia tenei taahiraa i te wa o te whakaurunga tuatahi (ina nexus_data_dir kau).
Blobstores ki te hanga. Kare e taea te whakahōu i te ara o te whare putunga me te whare putunga putunga i muri i te waihangatanga tuatahi (ka waihotia nga whakahōutanga i konei i runga i te whakaratonga ano).
Ko te whirihora i te toa i runga i te S3 he mea ngawari, ehara i te waahanga o nga whakamatautau aunoa e whakahaerehia ana e matou i runga i te travis. Kia mahara ko te penapena i runga i te S3 ka tūtohu noa mo nga waahi ka tukuna ki runga i te AWS.
Hangahanga Blobstores. Kaore e taea te whakahou i te ara rokiroki me te putunga putunga i muri i te hanganga tuatahi (ka waiho nga whakahou i konei ina whakaurua ano).
Ko te whakatu i te putunga putunga ki runga i te S3 he mea ngawari. Kia mahara ko te rokiroki S3 anake e taunakihia ana mo nga waahi ka tukuna ki runga i te AWS.
Ka honoa nga momo putunga e toru me nga uara taunoa e whai ake nei:
_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 me nga momo rokiroki yum:
kite defaults/main.yml mo enei whiringa:
Docker, Pypi, Raw, Rubygems, Bower, NPM, Git-LFS me nga putunga yum kua monokia ma te taunoa:
Tirohia defaults/main.yml mo enei whiringa:
Kia mahara ka hiahia koe ki te whakahohe i etahi waahanga haumarutanga mena ka hiahia koe ki te whakamahi i etahi atu momo putunga atu i te maven. He teka tenei na te taunoa
Kaore e whirihorahia te taapiri kia huri ra ano koe nexus_backup_configure в true.
I tenei keehi, ka whirihorahia te mahi tuhinga kua whakaritea kia haere ki runga Nexus
i te waahi kua tohua ki roto nexus_backup_cron (taunoa 21:00 ia ra).
Tirohia [tauira groovy mo tenei mahi](templates/backup.groovy.j2) mo nga taipitopito.
He motuhake tenei mahi kua whakaritea i etahi atu nexus_scheduled_taskse koe
panui i to pukapuka takaro.
Mena kei te pirangi koe ki te huri / muku i nga taapiri, whakauruhia nexus_backup_rotate: true me te whirihora i te maha o nga taapiri e hiahia ana koe ki te penapena ma te whakamahi nexus_backup_keep_rotations (taunoa 4).
Ina whakamahi hurihanga, mena kei te pirangi koe ki te penapena mokowā kōpae atu i te wā o te mahi tārua,
Ka taea e koe te whakauru nexus_backup_rotate_first: true. Ma tenei ka whirihora i mua i te hurihanga/muku i mua i te taapiri. Ma te taunoa, ka puta te hurihanga i muri i te hanganga o te taapiri. Kia mahara mai i tenei keehi ko nga taapiri tawhito
ka mukua i mua i te hanga i te tārua o nāianei.
Te tukanga whakaora
Whakahaere pukapuka purei me te tawhā -e nexus_restore_point=<YYYY-MM-dd-HH-mm-ss>
(hei tauira, 2017-12-17-21-00-00 mo Hakihea 17, 2017 i te 21:00
Te tango hononga
Whakatupato: Ma tenei ka whakakore katoa i o raraunga o naianei. Kia kaha ki te hanga i tetahi taapiri mo mua mena e tika ana
Whakamahia he taurangi nexus_purgeki te hiahia koe ki te timata ano mai i te wahanga me te whakauru ano i te tauira nohonga me nga raraunga katoa kua tangohia.
Hurihia te kupuhipa kaiwhakahaere i muri i te whakaurunga tuatahi
nexus_default_admin_password: 'admin123'
Kaua tenei e whakarereke i to pukapuka takaro. Kua kapi tenei taurangi ki te kupuhipa kaiwhakahaere Nexus taunoa i te whakaurunga tuatahi me te whakarite ka taea e matou te huri i te kupuhipa kaiwhakahaere ki nexus_admin_password.
Mena kei te hiahia koe ki te whakarereke i te kupuhipa kaiwhakahaere i muri i te whakaurunga tuatahi, ka taea e koe te whakarereke mo te wa poto ki te kupuhipa tawhito mai i te raina whakahau. I muri i te huringa nexus_admin_password i roto i to pukapuka takaro ka taea e koe te whakahaere: