Repository rpm basajan nganggo Inotify sareng webdav
Dina tulisan ieu urang bakal ningali panyimpen artefak rpm nganggo skrip saderhana sareng inotify + createrepo. Unggah artefak dilaksanakeun via webdav nganggo Apache httpd. Naha Apache httpd bakal ditulis nuju tungtung pos.
Janten, solusina kedah nyumponan syarat-syarat ieu pikeun ngatur ngan ukur neundeun RPM:
Gratis
Kasadiaan pakét dina gudang sababaraha detik sanggeus unggah ka gudang artefak.
bubur Sigana mah hiji solusi over-direkayasa keur kuring.
Artefak di SonaType Nexus disimpen dina gumpalan. Upami pareum listrik ngadadak, anjeun moal tiasa mulangkeun gumpalan upami anjeun teu gaduh cadangan. Kami ngagaduhan kasalahan ieu: 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 henteu kantos pulih.
Sacara standar inotify-createrepo ngawas diréktori a /var/www/repos/rpm-repo/.
Anjeun tiasa ngarobih diréktori ieu dina file /etc/inotify-createrepo.conf.
pamakean
Nalika nambihan file naon waé kana diréktori /var/www/repos/rpm-repo/ inotifywait bakal nyiptakeun file /tmp/need_create. Fungsi run_createrepo dijalankeun dina loop anu henteu terbatas sareng ngawas file /tmp/need_create. Upami filena aya, teras jalankeun createrepo --update.
Pikeun nyieun kasadiaan tinggi kaluar tina solusi aya, Jigana anjeun bisa make 2 server, Keepalived pikeun HA na Lsyncd pikeun sinkronisasi artefak. Lsyncd - daemon nu ngawas parobahan dina diréktori lokal, aggregates aranjeunna, sarta sanggeus waktu nu tangtu, rsync mimiti nyingkronkeun aranjeunna. Rincian sareng setelan dijelaskeun dina tulisan "Sinkronisasi gancang samilyar file".
webdav
Aya sababaraha cara pikeun unggah file: SSH, NFS, WebDav. WebDav sigana mangrupikeun pilihan modéren sareng saderhana.
Pikeun WebDav, urang bakal ngagunakeun Apache httpd. Naha Apache httpd di 2020 sareng sanés nginx?
Abdi hoyong nganggo alat otomatis pikeun ngawangun modul Nginx + (contona, Webdav).
Jigana anjeun bakal ngalakukeun sesa konfigurasi Apache httpd sorangan.
Nginx di hareup Apache httpd
Beda sareng Apache, Nginx nganggo modél pamrosésan pamundut dumasar-kajadian, anu hartosna ngan ukur hiji prosés server HTTP anu diperyogikeun pikeun sajumlah klien. Anjeun tiasa nganggo nginx sareng ngirangan beban server.
nginx-front.conf config. Jigana anjeun bakal ngalakukeun sesa konfigurasi nginx sorangan.