Začni tím, že oddělíš repozitáře, ale ne bezhlavě. aplikace patří do jednoho repozitáře, kde se verzování kódu řídí podle vydání aplikace. Konfigurace však není součástí kódu, i když s ním úzce souvisí. Vytvoř samostatný repozitář pro konfiguraci, ideálně jeden pro každé prostředí (vývoj, test, produkce). Do něj ukládej jen to, co se mění podle prostředí nebo zákazníka: připojovací řetězce, adresy služeb, přepínače funkcí, limity, šablony e-mailů. Kód by měl naopak obsahovat výchozí hodnoty a logiku, která konfiguraci načte z předem definovaného umístění. Tím dosáhneš toho, že při nasazení nové verze aplikace nemusíš zároveň měnit konfiguraci a naopak.

Klíčové je zavést jasná rozhraní a validaci. Konfigurační soubory drž v textovém formátu, který umí verzovat historii změn, ať už jde o JSON, YAML nebo TOML. Každou změnu konfigurace doprovoď krátkým popisem, proč k ní dochází, a proveď ji jako samostatný commit. To ti umožní kdykoli zjistit, která verze aplikace spolupracovala s kterou konfigurací. Zvaž i oddělení tajných údajů: hesla a klíče nepatří do žádného repozitáře, použij správce tajemství nebo proměnné prostředí. Propojení mezi verzí aplikace a konfigurací řeš pomocí verzovacích značek nebo jednoduchého souboru, který obsahuje číslo verze aplikace a očekávanou verzi konfigurace. Tento soubor může být součástí obou repozitářů a při nasazení se kontroluje.
Nakonec si nastav proces, který oddělení udrží dlouhodobě. Při každé změně kódu, která vyžaduje jinou konfiguraci, vytvoř novou větev v konfiguračním repozitáři a propoj ji s větví v aplikaci. Testovací prostředí by mělo vždy používat konfiguraci z odpovídající větve, ne z hlavní linie. Zaveď automatickou kontrolu, která při sestavení aplikace ověří, že načtená konfigurace odpovídá očekávanému schématu a verzi. Pokud tato kontrola selže, build se zastaví. Díky tomu se vyhneš situaci, kdy nová verze aplikace běží se starou konfigurací a způsobí výpadek. Pamatuj, že verzování kódu a verzování konfigurace mají různé tempo i důvody. Zatímco kód se mění při vývoji funkcí, https://vyvojarska.cz/ se mění při změnách prostředí nebo požadavků zákazníka. Jejich oddělením získáš přehlednost, rychlejší nasazení a menší riziko chyb.