Tengo el requisito de almacenar información de configuración por entorno en una herramienta.
Esta es una herramienta con una GUI para agregar / actualizar valores de configuración (por ejemplo, cadenas de conexión). Esto debería tener un valor predeterminado y poder cambiarlo en función de diferentes entornos.
Debe haber una API para recuperar estos valores de configuración durante la implementación en un entorno particular para agregar a la aplicación.
He buscado durante un tiempo y no puedo ver ninguna herramienta que se ajuste a esta factura. ¿Hay alguna sugerencia?
Nota : Actualmente, la configuración está en las variables de TeamCity y la implementación se realiza mediante scripts de PowerShell.
Respuestas:
Hay muchas herramientas que pueden hacer algo como esto, incluidas las herramientas de administración de configuración como Chef, Ansible o Puppet; y herramientas KVS como Consul y etcd. También puede integrarlo como un paso de compilación en su servidor CI, o eludir el problema usando la configuración en vivo en tiempo de ejecución contra un almacén de configuración externo (de nuevo, algo como Consul o etcd, o cualquier base de datos).
fuente
Posiblemente un repositorio diferente? Uno con ramas para QA, UAT, Prod (de ni más). Un repositorio diferente a los repositorios habituales de "Código como Código" e "Infraestructura como Código".
Es muy matizado. Cuánta configuración por env. ¿Se alterna entre lanzamientos? Si esos estados de alternancia mantienen el estado a pesar de las implementaciones binarias. ¿Para qué cliente, cliente, invitado o usuario mantiene la configuración?
Escribí un montón de entradas de blog (y prototipos / demostraciones) sobre el tema durante 5 años, incluidas las IU para alternar (si las necesita).
fuente