Eu tenho um requisito para armazenar informações de configuração por ambiente em uma ferramenta.
Esta é uma ferramenta com uma GUI para adicionar / atualizar valores de configuração (por exemplo, cadeias de conexão). Isso deve ter um valor padrão e poder mudar isso com base em diferentes ambientes.
Deve haver uma API para recuperar esses valores de configuração durante a implantação em um ambiente específico para adicionar ao aplicativo.
Eu pesquisei por um tempo e não consigo ver nenhuma ferramenta que se encaixasse nessa conta. Existem sugestões?
Nota : Atualmente, as configurações estão nas variáveis do TeamCity e a implantação é via scripts do PowerShell.
Respostas:
Existem muitas ferramentas que podem fazer algo assim, incluindo ferramentas de gerenciamento de configuração como Chef, Ansible ou Puppet; e ferramentas KVS como Consul e etcd. Você também pode integrá-lo como uma etapa de compilação no servidor de IC ou contornar o problema usando a configuração ativa em tempo de execução em um armazenamento de configuração externo (novamente, algo como Consul ou etcd ou qualquer banco de dados).
fonte
Possivelmente um repo diferente? Um com ramificações para controle de qualidade, UAT, Prod (de nem mais). Um repositório diferente dos seus repositórios regulares de "Código como código" e "Infraestrutura como código".
É altamente matizado. Quanta configuração por ambiente. É alternado entre lançamentos? Esses estados de alternância devem manter o estado, apesar das implantações binárias. Para qual cliente, cliente, hóspede ou usuário você mantém a configuração?
Escrevi várias entradas de blog (e protótipos / demos) sobre o tópico por mais de 5 anos - incluindo interfaces de usuário para alternar (se você precisar delas).
fonte