Repositori rpm prasaja nggunakake Inotify lan webdav
Ing kirim iki, kita bakal ndeleng repositori artefak rpm nggunakake skrip inotify + createrepo sing prasaja. Artefak diunggah liwat webdav nggunakake apache httpd. Napa apache httpd bakal ditulis ing pungkasan postingan.
Dadi, solusi kasebut kudu nyukupi syarat ing ngisor iki kanggo ngatur mung panyimpenan RPM:
Gratis
Kasedhiyan paket ing gudang sawetara detik sawise diunggah menyang gudang artefak.
pulp Katon kaya solusi over-engineered kanggo kula.
Artefak ing SonaType Nexus disimpen ing blob. Yen tiba-tiba mati listrik, sampeyan ora bakal bisa mulihake blob yen sampeyan ora duwe serep. Kita duwe kesalahan iki: 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 ora tau dibalekake.
Kanthi gawan, inotify-createrepo ngawasi direktori /var/www/repos/rpm-repo/.
Sampeyan bisa ngganti direktori iki ing file /etc/inotify-createrepo.conf.
Gunakake
Nalika nambah file menyang direktori /var/www/repos/rpm-repo/ inotifywait bakal nggawe file /tmp/need_create. Fungsi run_createrepo mlaku ing daur ulang tanpa wates lan ngawasi file kasebut /tmp/need_create. Yen file ana, banjur mbukak createrepo --update.
Kanggo kasedhiyan dhuwur saka solusi ana, Aku sampeyan bisa nggunakake 2 server, Keepalived kanggo HA lan Lsyncd kanggo sinkronisasi artefak. Lsyncd - daemon sing ngawasi owah-owahan ing direktori lokal, nglumpukake, lan sawise wektu tartamtu, rsync wiwit nyinkronake. Rincian lan setelan diterangake ing kirim "Sinkronisasi cepet saka milyar file".
webdav
Ana sawetara cara kanggo ngunggah file: SSH, NFS, WebDav. WebDav misale jek dadi pilihan modern lan prasaja.
Kanggo WebDav, kita bakal nggunakake Apache httpd. Napa Apache httpd ing 2020 lan dudu nginx?
Aku pengin nggunakake alat otomatis kanggo mbangun modul Nginx + (contone, Webdav).
Aku mikir sampeyan bakal nindakake kabeh konfigurasi Apache httpd dhewe.
Nginx ing ngarep Apache httpd
Ora kaya Apache, Nginx nggunakake model pangolahan panjalukan adhedhasar acara, tegese mung siji proses server HTTP sing dibutuhake kanggo sawetara klien. Sampeyan bisa nggunakake nginx lan nyuda beban server.
nginx-front.conf config. Aku mikir sampeyan bakal nindakake kabeh konfigurasi nginx dhewe.