Melhor estratégia para criar / atualizar o banco de dados de compilação do CI

5

Eu queria saber qual é a melhor prática em relação aos bancos de dados para testes de integração no servidor de compilação. Se houver uma prática recomendada.

Atualmente, nossa compilação criará um novo banco de dados a partir do zero para cada compilação. Testes de integração são então realizados contra isso.

No entanto, como o projeto tem um longo histórico e continua a crescer, a quantidade de scripts de migração (usando as migrações do EF Code First) aumenta. Isso está começando a desacelerar a compilação.

Uma solução seria não mais recriar o banco de dados para cada compilação. Um possível ponto negativo disso é que você poderia ter que reverter manualmente certas mudanças que foram enviadas para o repositório (Git), mas foram consideradas erradas depois (ou até mesmo falhar na compilação).

Outra solução é restaurar um backup de um banco de dados em um ponto conhecido e executar todas as migrações subsequentes a cada vez. Tudo o que precisamos fazer é atualizar o ponto de referência regularmente. Mas isso, novamente, é trabalho manual.

Na verdade, é assim que estamos fazendo atualmente, mas me perguntei se havia outras estratégias ou melhores.

    
por Peter 27.10.2016 / 10:18
fonte

1 resposta

2

Pegue a versão atual do banco de dados como o novo ponto inicial. Quando isso for alterado mais tarde, sua configuração de teste executará os scripts de migração somente a partir desse ponto inicial. Isso economizará algum tempo sem exigir muitas etapas manuais.

Alternativamente, testes demorados podem ser executados apenas com compilações noturnas. O feedback para esses testes será lento, mas a versão e teste "normal" permanecerão rápidos. Analise as estatísticas de falha do teste para descobrir o que é mais provável.

    
por 28.10.2016 / 10:36
fonte