Am o problemă cu configurarea sistemului meu. Am un serviciu care pornește mediul meu MEAN-Stack pe server.
[Unitate]
Descriere=Server front-end
După=network.target backend.service
[Serviciu]
Tip=simplu
Utilizator=meanrunner
ExecStart=/somepath/server.sh
Restart=intotdeauna
WorkingDirectory=/somepath/
[Instalare]
WantedBy=multi-user.target
Acum am adăugat o conductă de implementare automată și pentru a o face să funcționeze, am adăugat un fișier .path și .service pentru fiecare serviciu, pentru a le reporni atunci când a avut loc o implementare.
[Cale]
Unit=frontend-watcher.service
PathChanged=/oarecare cale
[Instalare]
WantedBy=multi-user.target
[Unitate]
Descriere=repornitor front-end
După=rețea.țintă
[Serviciu]
Type=onehot
ExecStart=/usr/bin/systemctl reporniți frontend.service
[Instalare]
WantedBy=multi-user.target
Până acum funcționează de fapt cu o singură problemă. Configurarea se declanșează prea repede și prea des, deoarece monitorul este declanșat pentru fiecare fișier încărcat. Există un mesaj de eroare din acest motiv, dar încă funcționează și fișierele sunt actualizate (site-ul web rulează noul cod).
Acum mă întrebam dacă există o modalitate de a schimba comportamentul. În mod ideal, să se declanșeze numai după ce încărcarea este finalizată. Singura mea idee (începător pe server) este să încarc un ultim fișier după fiecare implementare și să urmăresc doar acest fișier. În acest fel, s-ar declanșa o singură dată la sfârșit. Dar m-am gândit că ar putea exista o cale mai bună.