புரோஹோஸ்டர் > Блог > நிர்வாகம் > குறியீட்டு அணுகுமுறையாக உள்கட்டமைப்பைப் பயன்படுத்தி Nexus Sonatype ஐ நிறுவுதல் மற்றும் கட்டமைத்தல்
குறியீட்டு அணுகுமுறையாக உள்கட்டமைப்பைப் பயன்படுத்தி Nexus Sonatype ஐ நிறுவுதல் மற்றும் கட்டமைத்தல்
Sonatype Nexus என்பது ஒரு ஒருங்கிணைந்த தளமாகும், இதன் மூலம் டெவலப்பர்கள் Java (Maven) சார்புகள், Docker, Python, Ruby, NPM, Bower images, RPM தொகுப்புகள், gitlfs, Apt, Go, Nuget மற்றும் தங்கள் மென்பொருள் பாதுகாப்பை விநியோகிக்க முடியும்.
உங்களுக்கு ஏன் Sonatype Nexus தேவை?
தனிப்பட்ட கலைப்பொருட்களை சேமிப்பதற்காக;
இணையத்தில் இருந்து பதிவிறக்கம் செய்யப்பட்ட கலைப்பொருட்களை தேக்குவதற்கு;
அடிப்படை Sonatype Nexus தொகுப்பில் ஆதரிக்கப்படும் கலைப்பொருட்கள்:
இயல்புநிலை மதிப்புகள் கொண்ட மாறிகள் (பார்க்க default/main.yml):
பொது மாறிகள்
nexus_version: ''
nexus_timezone: 'UTC'
இயல்பாக, பங்கு Nexus இன் சமீபத்திய கிடைக்கக்கூடிய பதிப்பை நிறுவும். மாறியை மாற்றுவதன் மூலம் பதிப்பை சரிசெய்யலாம் nexus_version. கிடைக்கக்கூடிய பதிப்புகளைப் பார்க்கவும் https://www.sonatype.com/download-oss-sonatype.
நீங்கள் புதிய பதிப்பிற்கு மாறினால், உங்கள் Nexus நிறுவலைப் புதுப்பிக்க பங்கு முயற்சிக்கும்.
சமீபத்திய பதிப்பை விட Nexus இன் பழைய பதிப்பை நீங்கள் பயன்படுத்துகிறீர்கள் எனில், நிறுவப்பட்ட வெளியீட்டில் இல்லாத அம்சங்களை நீங்கள் பயன்படுத்தவில்லை என்பதை உறுதிப்படுத்திக் கொள்ள வேண்டும் (உதாரணமாக, 3.8.0, git lfs repo ஐ விட அதிகமான nexusக்கு yum களஞ்சியங்களை ஹோஸ்டிங் செய்யலாம். 3.3.0 போன்றவற்றை விட அதிகமான நெக்ஸஸுக்கு)
nexus timezone ஜாவா நேர மண்டலத்தின் பெயர், இது nexus_scheduled பணிகளுக்கு பின்வரும் கிரான் வெளிப்பாடுகளுடன் இணைந்து பயனுள்ளதாக இருக்கும்.
ஜாவா இணைப்பு செயல்முறையின் போர்ட் மற்றும் சூழல் பாதை. nexus_default_context_path அமைக்கப்படும் போது முன்னோக்கி சாய்வு இருக்க வேண்டும், எ.கா: nexus_default_context_path: '/nexus/'.
Nexus OS பயனர் மற்றும் குழு
nexus_os_group: 'nexus'
nexus_os_user: 'nexus'
Nexus கோப்புகளை சொந்தமாக வைத்திருக்கவும், சேவையை இயக்கவும் பயன்படுத்தப்படும் பயனர் மற்றும் குழு ஒன்று விடுபட்டால், அந்த பாத்திரத்தால் உருவாக்கப்படும்.
nexus_os_user_home_dir: '/home/nexus'
நெக்ஸஸ் பயனருக்கான இயல்புநிலை முகப்பு கோப்பகத்தை மாற்ற அனுமதிக்கவும்
nexus_installation_dir நிறுவப்பட்ட இயங்கக்கூடிய கோப்புகளைக் கொண்டுள்ளது
nexus_data_dir அனைத்து கட்டமைப்பு, களஞ்சியங்கள் மற்றும் பதிவிறக்கம் செய்யப்பட்ட கலைப்பொருட்கள் ஆகியவற்றைக் கொண்டுள்ளது. தனிப்பயன் பிளாப்ஸ்டோர் பாதைகள் nexus_data_dir தனிப்பயனாக்கலாம், கீழே பார்க்கவும் nexus_blobstores.
nexus_tmp_dir அனைத்து தற்காலிக கோப்புகளையும் கொண்டுள்ளது. redhatக்கான இயல்புநிலை பாதை இதிலிருந்து நகர்த்தப்பட்டது /tmp தானியங்கி துப்புரவு நடைமுறைகளுடன் சாத்தியமான சிக்கல்களை சமாளிக்க. பார்க்கவும் #168.
இவை Nexusக்கான இயல்புநிலை அமைப்புகள். தயவுசெய்து இந்த மதிப்புகளை மாற்ற வேண்டாம்நீங்கள் படிக்கவில்லை என்றால் நெக்ஸஸ் சிஸ்டம் தேவைகள் நினைவக பிரிவு அவர்கள் என்ன செய்கிறார்கள் என்று புரியவில்லை.
இரண்டாவது எச்சரிக்கையாக, மேலே உள்ள ஆவணத்திலிருந்து ஒரு பகுதி இங்கே:
செயல்திறனை மேம்படுத்தும் முயற்சியில் பரிந்துரைக்கப்பட்ட மதிப்புகளுக்கு அப்பால் JVM ஹீப் நினைவகத்தை அதிகரிக்க பரிந்துரைக்கப்படவில்லை. இது உண்மையில் எதிர் விளைவைக் கொண்டிருக்கலாம், இதன் விளைவாக இயக்க முறைமைக்கு தேவையற்ற வேலை ஏற்படும்.
நிர்வாகி கடவுச்சொல்
nexus_admin_password: 'changeme'
அமைப்பிற்கான "நிர்வாகம்" கணக்கு கடவுச்சொல். இது முதல் இயல்புநிலை நிறுவலில் மட்டுமே வேலை செய்கிறது. ஒரு பாத்திரத்தைப் பயன்படுத்தி பின்னர் அதை மாற்ற விரும்பினால், [முதல் நிறுவலுக்குப் பிறகு நிர்வாகி கடவுச்சொல்லை மாற்றவும்](# change-admin-password-after-first-install) பார்க்கவும்.
உங்கள் கடவுச்சொல்லை பிளேபுக்கில் தெளிவான உரையாக சேமிக்காமல், [ansible-vault encryption] பயன்படுத்துமாறு கடுமையாக பரிந்துரைக்கப்படுகிறது.https://docs.ansible.com/ansible/latest/user_guide/vault.html) (இன்லைனில் அல்லது தனி கோப்பில் எ.கா. include_vars)
முன்னிருப்பாக அநாமதேய அணுகல்
nexus_anonymous_access: false
அநாமதேய அணுகல் இயல்பாகவே முடக்கப்பட்டுள்ளது. பற்றி மேலும் வாசிக்க அநாமதேய அணுகல்.
இந்த மாறிகள், பங்கை வழங்குவதற்காக Nexus API உடன் எவ்வாறு இணைகிறது என்பதைக் கட்டுப்படுத்துகிறது. மேம்பட்ட பயனர்களுக்கு மட்டுமே. இந்த இயல்புநிலை அமைப்புகளை நீங்கள் ஒருவேளை மாற்ற விரும்பவில்லை
நிறுவ SSL ரிவர்ஸ் ப்ராக்ஸி.
இதைச் செய்ய, நீங்கள் httpd ஐ நிறுவ வேண்டும். குறிப்பு: எப்போது httpd_setup_enable மதிப்பு அமைக்கtrue, நெக்ஸஸ் தொடர்புகள் 127.0.0.1:8081, இவ்வாறு இல்லை வெளிப்புற IP முகவரியிலிருந்து HTTP போர்ட் 8081 வழியாக நேரடியாக அணுக முடியும்.
பயன்படுத்தப்படும் இயல்புநிலை ஹோஸ்ட்பெயர் nexus_public_hostname. சில காரணங்களுக்காக உங்களுக்கு வெவ்வேறு பெயர்கள் தேவைப்பட்டால், நீங்கள் அமைக்கலாம் httpd_server_name வேறு அர்த்தத்துடன்.
С httpd_copy_ssl_files: true (இயல்புநிலையாக) மேலே உள்ள சான்றிதழ்கள் உங்கள் பிளேபுக் கோப்பகத்தில் இருக்க வேண்டும், மேலும் அவை சர்வரில் நகலெடுக்கப்பட்டு அப்பாச்சியில் கட்டமைக்கப்படும்.
சர்வரில் இருக்கும் சான்றிதழ்களைப் பயன்படுத்த விரும்பினால், நிறுவவும் httpd_copy_ssl_files: false மற்றும் பின்வரும் மாறிகளை வழங்கவும்:
# 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 இது விருப்பமானது மற்றும் நீங்கள் சங்கிலி கோப்பைத் தனிப்பயனாக்க விரும்பவில்லை என்றால் அமைக்கப்படாமல் விடப்பட வேண்டும்
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
பட்டியல் சலுகைகள் அமைப்புகளுக்கு. சிறப்புரிமை வகையைப் பொறுத்து எந்த மாறிகள் அமைக்கப்பட வேண்டும் என்பதைச் சரிபார்க்க ஆவணங்கள் மற்றும் GUI ஐப் பார்க்கவும்.
இந்த கூறுகள் பின்வரும் இயல்புநிலை மதிப்புகளுடன் இணைக்கப்பட்டுள்ளன:
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
நெக்ஸஸில் உருவாக்க உள்ளூர் (LDAP அல்லாத) பயனர்கள்/கணக்குகள் பட்டியல்.
Nexus இல் உருவாக்க உள்ளூர் (LDAP அல்லாத) பயனர்கள்/கணக்குகளின் பட்டியல்.
பயனர்கள்/பாத்திரங்களின் Ldap மேப்பிங். நிலை absent ஏற்கனவே இருக்கும் பயனரிடமிருந்து பாத்திரங்களை அகற்றும்.
Ldap பயனர்கள் நீக்கப்படவில்லை. இல்லாத பயனருக்கு ஒரு பங்கை அமைக்க முயற்சித்தால் பிழை ஏற்படும்.
உள்ளடக்க தேர்வாளர்கள்
nexus_content_selectors:
- name: docker-login
description: Selector for docker login privilege
search_expression: format=="docker" and path=~"/v2/"
உள்ளடக்கத் தேர்வியைப் பற்றிய கூடுதல் தகவலுக்கு, பார்க்கவும் ஆவணப்படுத்தல்.
உள்ளடக்கத் தேர்வியைப் பயன்படுத்த, புதிய சிறப்புரிமையைச் சேர்க்கவும் type: repository-content-selector மற்றும் தொடர்புடையதுcontentSelector
நெக்ஸஸ் நிறுவல் ஆரம்ப இயல்புநிலை உள்ளமைவிலிருந்து களஞ்சியங்களை நீக்கவும். இந்த படியானது முதல் முறை நிறுவலின் போது மட்டுமே செயல்படுத்தப்படும் (எப்போது nexus_data_dir காலியாக இருப்பது கண்டறியப்பட்டது).
Nexus க்கான இயல்புநிலை இயல்புநிலை உள்ளமைவிலிருந்து களஞ்சியங்களை நீக்குகிறது. இந்த நடவடிக்கை முதல் நிறுவலின் போது மட்டுமே செய்யப்படுகிறது (எப்போது nexus_data_dir காலியாக).
nexus_delete_default_blobstore: false
நெக்ஸஸ் நிறுவல் ஆரம்ப இயல்புநிலை உள்ளமைவிலிருந்து இயல்புநிலை ப்ளாப்ஸ்டோரை நீக்கவும். இருந்தால் மட்டுமே இதைச் செய்ய முடியும் nexus_delete_default_repos: true மற்றும் அனைத்து உள்ளமைக்கப்பட்ட களஞ்சியங்களும் (கீழே காண்க) வெளிப்படையானவை blob_store: custom. இந்த படியானது முதல் முறை நிறுவலின் போது மட்டுமே செயல்படுத்தப்படும் (எப்போது nexus_data_dir காலியாக இருப்பது கண்டறியப்பட்டது).
ப்ளாப் சேமிப்பகத்தை (பைனரி கலைப்பொருட்கள்) அகற்றுவது ஆரம்ப கட்டமைப்பிலிருந்து இயல்பாகவே முடக்கப்பட்டுள்ளது. குமிழ் சேமிப்பகத்தை (பைனரி கலைப்பொருட்கள்) அகற்ற, அணைக்கவும் nexus_delete_default_repos: true. இந்த நடவடிக்கை முதல் நிறுவலின் போது மட்டுமே செய்யப்படுகிறது (எப்போது nexus_data_dir காலியாக).
ப்ளாப்ஸ்டோர்ஸ் உருவாக்க. ஆரம்ப உருவாக்கத்திற்குப் பிறகு ஒரு ப்ளாப்ஸ்டோர் பாதை மற்றும் ஒரு களஞ்சிய ப்ளாப்ஸ்டோரைப் புதுப்பிக்க முடியாது (இங்குள்ள எந்த புதுப்பிப்பும் மறு-ஒதுக்கீட்டில் புறக்கணிக்கப்படும்).
S3 இல் ப்ளாப்ஸ்டோரை உள்ளமைப்பது ஒரு வசதிக்காக வழங்கப்படுகிறது மற்றும் டிராவிஸில் நாங்கள் இயக்கும் தானியங்கு சோதனைகளின் ஒரு பகுதியாக இல்லை. AWS இல் பயன்படுத்தப்படும் நிகழ்வுகளுக்கு மட்டுமே S3 இல் சேமிப்பது பரிந்துரைக்கப்படுகிறது என்பதை நினைவில் கொள்ளவும்.
உருவாக்கம் ப்ளாப்ஸ்டோர்ஸ். ஆரம்ப உருவாக்கத்திற்குப் பிறகு சேமிப்பக பாதை மற்றும் சேமிப்பக களஞ்சியத்தை புதுப்பிக்க முடியாது (இங்குள்ள எந்த புதுப்பிப்பும் மீண்டும் நிறுவப்படும்போது புறக்கணிக்கப்படும்).
S3 இல் ப்ளாப் சேமிப்பகத்தை அமைப்பது ஒரு வசதியாக வழங்கப்படுகிறது. AWS இல் பயன்படுத்தப்படும் நிகழ்வுகளுக்கு மட்டுமே S3 சேமிப்பிடம் பரிந்துரைக்கப்படுகிறது என்பதை நினைவில் கொள்ளவும்.
nexus_repos_maven_hosted:
- name: private-release
version_policy: release
write_policy: allow_once # one of "allow", "allow_once" or "deny"
மேவன் ஹோஸ்ட் செய்யப்பட்ட களஞ்சியங்கள் கட்டமைப்பு. எதிர்மறை கேச் கட்டமைப்பு விருப்பமானது மற்றும் தவிர்க்கப்பட்டால் மேலே உள்ள மதிப்புகளுக்கு இயல்புநிலையாக இருக்கும்.
கட்டமைப்பு ஹோஸ்ட் செய்யப்பட்ட களஞ்சியங்கள் மேவன். எதிர்மறை கேச் உள்ளமைவு (-1) விருப்பமானது மற்றும் குறிப்பிடப்படாவிட்டால் மேலே உள்ள மதிப்புகளுக்கு இயல்புநிலையாக இருக்கும்.
nexus_repos_maven_group:
- name: public
member_repos:
- central
- jboss
மூன்று களஞ்சிய வகைகளும் பின்வரும் இயல்புநிலை மதிப்புகளுடன் இணைக்கப்பட்டுள்ளன:
_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 மற்றும் yum களஞ்சிய வகைகள்:
பார்க்க defaults/main.yml இந்த விருப்பங்களுக்கு:
Docker, Pypi, Raw, Rubygems, Bower, NPM, Git-LFS மற்றும் yum களஞ்சியங்கள் இயல்பாகவே முடக்கப்பட்டுள்ளன:
பார்க்க defaults/main.yml இந்த விருப்பங்களுக்கு:
மேவனைத் தவிர வேறு வகையான களஞ்சியங்களைப் பயன்படுத்த விரும்பினால், சில பாதுகாப்பு நோக்கங்களை நீங்கள் இயக்க வேண்டியிருக்கும் என்பதை நினைவில் கொள்ளவும். இது இயல்பாகவே தவறானது
நீங்கள் மாற்றும் வரை காப்புப்பிரதி கட்டமைக்கப்படாது nexus_backup_configure в true.
இந்த நிலையில், திட்டமிடப்பட்ட ஸ்கிரிப்ட் பணி Nexus இல் இயங்கும் வகையில் கட்டமைக்கப்படும்
குறிப்பிட்ட இடைவெளியில் nexus_backup_cron (இயல்புநிலை ஒவ்வொரு நாளும் 21:00).
விவரங்களுக்கு [இந்த பணிக்கான க்ரூவி டெம்ப்ளேட்டை](வார்ப்புருக்கள்/backup.grovy.j2) பார்க்கவும்.
இந்த திட்டமிடப்பட்ட பணி மற்றவர்களிடமிருந்து சுயாதீனமானது nexus_scheduled_tasksநீங்கள்
உங்கள் பிளேபுக்கில் அறிவிக்கவும்.
காப்புப்பிரதிகளை சுழற்ற/நீக்க விரும்பினால், நிறுவவும் nexus_backup_rotate: true நீங்கள் சேமிக்க விரும்பும் காப்புப்பிரதிகளின் எண்ணிக்கையை உள்ளமைக்கவும் nexus_backup_keep_rotations (இயல்புநிலை 4).
சுழற்சியைப் பயன்படுத்தும் போது, காப்புப் பிரதி செயல்பாட்டின் போது கூடுதல் வட்டு இடத்தை சேமிக்க விரும்பினால்,
நீங்கள் நிறுவலாம் nexus_backup_rotate_first: true. இது காப்புப்பிரதிக்கு முன் முன்-சுழற்சி/நீக்கத்தை உள்ளமைக்கும். முன்னிருப்பாக, காப்புப்பிரதி உருவாக்கப்பட்ட பிறகு சுழற்சி ஏற்படுகிறது. இந்த வழக்கில் பழைய காப்புப்பிரதிகள் என்பதை நினைவில் கொள்க
தற்போதைய காப்புப்பிரதியை உருவாக்கும் முன் நீக்கப்படும்.
மீட்பு செயல்முறை
அளவுருவுடன் பிளேபுக்கை இயக்கவும் -e nexus_restore_point=<YYYY-MM-dd-HH-mm-ss>
(எடுத்துக்காட்டாக, 2017-12-17-21-00-00 டிசம்பர் 17, 2017 அன்று 21:00 மணிக்கு
நெக்ஸஸை நீக்குகிறது
எச்சரிக்கை: இது உங்கள் தற்போதைய தரவை முற்றிலும் நீக்கிவிடும். தேவைப்பட்டால், முன்கூட்டியே காப்புப்பிரதி எடுக்க மறக்காதீர்கள்
ஒரு மாறியைப் பயன்படுத்தவும் nexus_purgeநீங்கள் புதிதாக மறுதொடக்கம் செய்ய வேண்டும் மற்றும் அனைத்து தரவையும் அகற்றி, நெக்ஸஸ் நிகழ்வை மீண்டும் நிறுவ வேண்டும்.
முதல் நிறுவலுக்குப் பிறகு நிர்வாகி கடவுச்சொல்லை மாற்றவும்
nexus_default_admin_password: 'admin123'
உங்கள் பிளேபுக்கில் இதை மாற்றக்கூடாது. இந்த மாறி முதலில் நிறுவப்பட்ட போது இயல்புநிலை Nexus நிர்வாகி கடவுச்சொல்லுடன் நிரப்பப்பட்டு, நிர்வாகி கடவுச்சொல்லை மாற்ற முடியும் என்பதை உறுதி செய்கிறது nexus_admin_password.
முதல் நிறுவலுக்குப் பிறகு நிர்வாகி கடவுச்சொல்லை மாற்ற விரும்பினால், கட்டளை வரியிலிருந்து பழைய கடவுச்சொல்லை தற்காலிகமாக மாற்றலாம். மாற்றத்திற்குப் பிறகு nexus_admin_password உங்கள் பிளேபுக்கில் நீங்கள் இயக்கலாம்: