Sunt încă un începător în devops și administrator de sistem în general și acum câteva zile am vrut să reinstalez complet totul pe serverul meu și să configurez corect serviciile și implementarea aplicațiilor, acum problema mea este cum aș aborda corect implementarea automată a unei aplicații, construirea acesteia, actualizarea automată și repornirea ei în caz de blocare.
Înainte am făcut asta folosind scripturi bash simple care rulau în fundal și verificau automat actualizările și le implementau dacă există o versiune mai nouă în depozitul de la distanță.
M-am uitat deja puțin în subiect și am aflat despre docker și docker, kubernetes și docker compose. Toate păreau perfecte la început, dar când mă uit mai mult la subiect nu am văzut complet necesitatea lor, deoarece aplicațiile pe care le am nu trebuie să fie izolate sau să ruleze pe o instanță complet separată de sistemele de operare principale, aplicațiile pot fi rulate pe fiecare nucleu major.
Acum, ceea ce aș dori să știu este că, dacă există instrumente sau aplicații pentru a realiza exact acest lucru, trebuie în mod special să
- Extrageți din depozitul de la distanță dacă există actualizări (Ar putea fi realizat și cu Github Actions, pentru a declanșa o acțiune pe server)
- Creați automat sursa mai nouă și reporniți aplicația
- Reporniți aplicația dacă se blochează sau sistemul se blochează din orice motiv.