În prezent, rulez mai multe aplicații web mai mici pe un server la scară mică și le-am configurat pentru a fi pornite și repornite cu un serviciu systemctl, am făcut în mod special aceste aplicații un serviciu systemctl, astfel încât să înceapă automat la pornirea sistemului și să fie repornite dacă acestea prăbușire.
Acum vreau să actualizez și să construiesc aplicațiile pe server odată ce există o versiune mai nouă pe depozitul de la distanță, serverul în sine nu poate verifica dacă există o versiune mai nouă disponibilă în depozit, serverul nu poate lansa nici una scripturi și setarea serviciului systemctl pentru a lansa un script nu ar reporni serviciul din nou dacă se blochează, deoarece scriptul ar fi în continuare rulat.
Cum as aborda corect aceasta problema? Există instrumente care fac acest lucru în mod specific?
Alte informatii:
- Aplicațiile sunt realizate în C#, cu .Net 5.0
- Depozitul este unul public simplu găzduit pe Github
Structura mea actuală a folderelor este următoarea.
.
`-- aplicații
|
|-- cerere1
| |-- build/ (Binarul început de la serviciu se află aici)
| |-- src/
| `-- aplicatie1.serviciu
|
|-- aplicare2
| |-- construi/
| |-- src/
| `-- aplicatie2.serviciu
|
`-- aplicație3
|-- construi/
|-- src/