Správa konfigurace během deploye aplikace rubrika: Nástroje: Verzování

1 Budry
položil/-a 18.3.2019

Zdravím,

hledám inspiraci a jakékoliv postřehy od zkušenějších, které by mi pomohly vyřešit jeden zásadní problém s automatickým deployem aplikací.

Veškerý proces nasazení nové verze aplikací máme automatizovaný už dlouho dobu. Jediný problém, na který se nám zatím nepodařilo nalézt uspokojivou odpoveď, je jak efektivně pracovat s konfigurací aplikací behem deploye. Jde především o práci s konfiguračními soubory, různé certifikáty a pod..., které nejsou verzované spolu s projektem.

Aktuálně, řešíme problém aktualizace konfiguračních souborů ručně. Člověk, který má na starosti deploy do produkce se připojí na server, nakopíruje, či změní potřebné konfigurační souboury a až poté spustí deploy. Protože se úprava konfigurace projektů naštěstí nedělá nějak extra často, tak je to pro nás prozatím schůdné řešení, ale docela by mě zajímalo jak toto udělat lépe a efektivněji.

Se stávajícím způsobem máme několik zásadních problémů.

  1. Ačkoliv by ve většině případů mohl být deploy automatický, takhle se musí někdo podívat jestli není potřeba upravovat konfiguraci na serveru a až poté ručně spustit deploy
  2. Velký problém s rollbacky. Pokud se během deploy něco nepodaří a je potřeba se vratit ke starší verzi aplikace, těžko se dohledává jaká konfigurace byla pro danou verzi správná. Na serveru většinou uchováváme nějaké zálohy těchto souborů, ale není to 100% řešení.

Naše ideální představa, je mít konfiguraci serveru nějakým způsobem bezpečně verzovanou, tak aby se během vývoje jen upravovala struktura či přidávali soubory a během deploy se konfigurace aktualizovala spolu s verzí aplikace, čímž by se vyřešila jak automatika, tak také bezpečné rollbacky na předchozí verze, ale zatím se nám nepodařilo najít nějaké použitelné řešení, pokud nechceme mít tyto soubory v repozitáři s projektem...

Jak tento problém řešíte vy? Budu velmi rád za jakékoliv postřehy.

Předem díky.

odkaz
7 harrison314
odpověděl/-a 18.3.2019
 
upravil/-a 18.3.2019

V jednom svojom produkte to riesim samostatnym git repozitarom, v ktorom su konfiguracie a ine customizacie produktu (zdrojaky pluginov).
Clovek co robi zmeny v produkte alebo pluginoch ma za ulohu updatnut produkcnu konfiguraciu ak je to potrebne.
O vsteko ostatne sa stara CI/DI.

Co sa tyka rollbakov, tak tie sa riesia na serveri snapshotom alebo zalohovanim vsetkych suborov projektu.

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.