Repożitorju rpm sempliċi bl-użu ta 'Inotify u webdav
F'din il-kariga se nħarsu lejn il-ħażna tal-artifact rpm billi tuża skript sempliċi b'inotify + createrepo. It-tlugħ ta' artifacts jitwettaq permezz ta' webdav bl-użu ta' apache httpd. Għaliex apache httpd se jinkiteb lejn l-aħħar tal-post.
Għalhekk, is-soluzzjoni għandha tissodisfa r-rekwiżiti li ġejjin għall-organizzazzjoni biss tal-ħażna RPM:
Libera
Disponibbiltà tal-pakkett fir-repożitorju ftit sekondi wara t-tlugħ fir-repożitorju tal-artifact.
Artifacts fi SonaType Nexus huma maħżuna fi blob. Jekk ikun hemm qtugħ tad-dawl f'daqqa, ma tkunx tista' tirrestawra l-blob jekk ma jkollokx backup. Kellna dan l-iżball: 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 qatt ma ġie rrestawrat.
B'mod awtomatiku, inotify-createrepo jimmonitorja d-direttorju /var/www/repos/rpm-repo/.
Tista' tibdel dan id-direttorju fil-fajl /etc/inotify-createrepo.conf.
Użu
Meta żżid xi fajl ma 'direttorju /var/www/repos/rpm-repo/ inotifywait se joħloq il-fajl /tmp/need_create. Il-funzjoni run_createrepo taħdem f'linja bla tarf u timmonitorja l-fajl /tmp/need_create. Jekk il-fajl jeżisti, jibda createrepo --update.
Biex tagħmel disponibbiltà għolja minn soluzzjoni eżistenti, naħseb li tista 'tuża 2 servers, Keepalived għal HA u Lsyncd għas-sinkronizzazzjoni ta' artifacts. Lsyncd - daemon li jimmonitorja l-bidliet f'direttorju lokali, jiġborhom, u wara ċertu żmien rsync jibda jissinkronizzahom. Dettalji u setup huma deskritti fil-post "Sinkronizzazzjoni mgħaġġla ta' biljun fajl".
webdav
Tista 'ttella' fajls b'diversi modi: SSH, NFS, WebDav. WebDav jidher li huwa għażla moderna u sempliċi.
Għal WebDav se nużaw Apache httpd. Għaliex Apache httpd fl-2020 u mhux nginx?
Nixtieq nuża għodod awtomatizzati għall-bini ta 'moduli Nginx + (per eżempju, Webdav).
Naħseb li tista 'tagħmel il-bqija tas-setup Apache httpd lilek innifsek.
Nginx qabel Apache httpd
B'differenza minn Apache, Nginx juża mudell ta 'proċessar ta' rikjesti bbażat fuq avveniment, li jeħtieġ proċess wieħed biss ta 'server HTTP għal kull numru ta' klijenti. Tista 'tuża nginx u tnaqqas it-tagħbija fuq is-server.