Ferramenta para armazenamento por configuração de ambiente

11

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.

tim
fonte
Pronto para coisas pagas? Você tem algum sistema de gerenciamento de configuração? o que você usa para implantar?
Tensibai 27/03
As opções pagas serão configuradas. Atualmente, as configurações estão nas variáveis ​​do TeamCity e a implantação é via scripts do PowerShell.
tim
Não é estritamente uma resposta, portanto, um comentário - você já pensou em usar o Octopus Deploy para implantações, pois isso permite gerenciar a Configuração Ambiental de uma maneira altamente flexível.
Richard Slater
Se você usar um sistema de controle de fonte de ramificação esparso, como o ClearCase, poderá simplesmente ramificar os arquivos com modificações. Você poderá analisar estratégias para lidar com as alterações OSD (Dependente do Sistema Operacional) no VCS. Se você usar o git, será necessário continuar rebasando as ramificações não padrão constantemente. Algumas ferramentas de configuração têm configurações por ambiente através de variáveis. No Ansible, tenho arquivo com padrões e sobreposições variáveis ​​para ambientes que não são de produção. Não armazene nenhuma configuração nas ferramentas de IC, elas devem estar todas no VCS. Incluindo as configurações do TC.
Jiri Klouda
recomendamos armazenar todas as configurações com a fonte. temos vários serviços do azure e usamos a sintaxe de transformação do azure para todas as personalizações do ambiente. consulte msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx . Na verdade, fazemos isso com o PowerShell no momento da implantação, como parte da instalação. Dependendo de onde você se conecta ao pipeline, você pode fazer isso antes de colocar bits na caixa ou, para senhas, depois. Usamos o Azure Key Vault para segredos, para que eles nunca apareçam no controle de origem.
Sem reembolsos Sem retornos

Respostas:

6

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).

Adrian
fonte
1

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).

paul_h
fonte