Como você evita armazenar senhas no controle de versão?

Qual estratégia você usa para evitar o armazenamento de senhas no controle de versão?

Atualmente, tenho senhas de desenvolvimento / teste / produção salvas em três arquivos diferentes e o arquivo apropriado é usado durante a implementação. Tudo isso está comprometido com o controle de versão, mas não estou muito feliz com isso, já que nem todos os desenvolvedores precisam saber essas senhas (especialmente as terceirizadas, que têm acesso somente enquanto durar seus projetos, o que pode ser de apenas um mês).

Armazenar senhas no banco de dados não é uma ótima opção:

Eu preciso da maioria dos dados durante a inicialização do contexto do Spring (aplicativo Java) e não quero construir o scaffolding para conectar-me a um único banco de dados e depois conectar-me ao restante dos bancos de dados e inicializar o restante do aplicativoalgumas das senhas são apenas relacionadas à implementação; senha para acessar diferentes servidores, keystores, etc .; essas são as coisas que o aplicativo não pode carregar depois de iniciado, já que ele não é carregado

Estou pensando em mover a configuração de implantação da máquina do desenvolvedor para o computador dedicado, que faz o check out do código do controle de versão e executa o script de construção / implantação, mas não tenho certeza de qual seria a melhor maneira de fazer isso.

Eu também preciso dizer que não quero segurança definitiva: eu só quero evitar ter senhas no disco de todos os desenvolvedores e tornar isso muito fácil.

Então eu estou pedindo suas experiências / melhores práticas. Como você faz isso?

questionAnswers(6)

yourAnswerToTheQuestion