Argitalpen honetan, rpm artefaktuen biltegi bat aztertuko dugu inotify + createrepo script soil bat erabiliz. Artefaktuak webdav bidez kargatzen dira apache httpd erabiliz. Zergatik apache httpd idatziko da mezuaren amaieran.
Beraz, irtenbideak RPM biltegiratzea soilik antolatzeko baldintza hauek bete behar ditu:
doan
Paketearen erabilgarritasuna biltegian artefaktuen biltegira kargatu eta segundo gutxira.
Eskuragarritasun handia barruan SonaType Nexus ordaintzen da.
Pulp Gehiegizko ingeniaritza irtenbide bat iruditzen zait.
Artefaktuak barruan SonaType Nexus blob batean gordeta. Bat-bateko elektrizitatearen etenaldi bat gertatuz gero, ezingo duzu berrezartu blob babeskopiarik ez baduzu. Errore hau izan dugu: ERROR [ForkJoinPool.commonPool-worker-2] *SYSTEM [com.orientechnologies.orient.core.storage](http://com.orientechnologies.orient.core.storage/).fs.OFileClassic - $ANSI{green {db=security}} Error during data read for file 'privilege_5.pcl' 1-th attempt [java.io](http://java.io/).IOException: Bad address. Blob ez zen inoiz berreskuratu.
Lehenespenez inotify-createrepo-k direktorio bat kontrolatzen du /var/www/repos/rpm-repo/.
Direktorio hau fitxategian alda dezakezu /etc/inotify-createrepo.conf.
Erabili
Edozein fitxategi direktorio batean gehitzean /var/www/repos/rpm-repo/ inotifywait-ek fitxategi bat sortuko du /tmp/need_create. run_createrepo funtzioak begizta infinitu batean exekutatzen du eta fitxategia kontrolatzen du /tmp/need_create. Fitxategia existitzen bada, exekutatu createrepo --update.
Lehendik dagoen irtenbide batetik erabilgarritasun handia izateko, uste dut 2 zerbitzari erabil ditzakezula, Keepalived HArako eta Lsyncd artefaktuak sinkronizatzeko. Lsyncd - Tokiko direktorioko aldaketak kontrolatzen dituen daemon bat, agregatu eta denbora jakin baten ondoren, rsync sinkronizatzen hasten da. Xehetasunak eta ezarpenak argitalpenean deskribatzen dira "Mila milioi fitxategiren sinkronizazio azkarra".
WebDav
Fitxategiak igotzeko hainbat modu daude: SSH, NFS, WebDav. WebDav aukera moderno eta sinplea dela dirudi.
WebDav-erako, Apache httpd erabiliko dugu. Zergatik Apache httpd 2020an eta ez nginx?
Nginx + moduluak eraikitzeko tresna automatizatuak erabili nahiko nituzke (adibidez, Webdav).
Uste dut Apache httpd konfigurazioaren gainerakoa zuk egingo duzula.
Nginx Apache-ren aurrean httpd
Apache-k ez bezala, Nginx-ek gertaeren araberako eskaerak prozesatzeko eredu bat erabiltzen du, hau da, HTTP zerbitzari-prozesu bakarra behar dela bezero kopuru batentzat. Nginx erabil dezakezu eta zerbitzariaren karga murriztu.
nginx-front.conf konfig. Uste dut nginx-en gainerako konfigurazioa zuk egingo duzula.