Melhores práticas de subversão da solução .net?
-
08-06-2019 - |
Pergunta
Existem tantos exemplos de como configurar seus projetos dotnet, mas nenhum parece se adequar à nossa situação.
Temos uma solução com vários aplicativos e múltiplas dependências.Atualmente, estamos no SourceSafe e planejamos migrar para o subversion, mas estamos achando difícil organizar nossa fonte da maneira certa.
Solução de exemplo
- Aplicativo1
- Aplicativo2
- BizObjects
- Acesso de dados
- Controles personalizados
Dependências
- BizObjects->Acesso a Dados
- App1->CustomControls
- App1->BizObjects
- App1->Acesso a dados
- App2->CustomControls
- App2->BizObjects
Também temos um sistema de gerenciamento de configuração que é implantado (via cópia do banco de dados) dependendo da carga de trabalho em que o operador está trabalhando.Marcamos um "lançamento" de aplicativo com uma versão e, a esse lançamento, adicionamos várias dependências de arquivo.Tenha em mente que a solução que temos agora é uma tentativa de corrigir a solução antiga (desenvolvida no Windows 3.1) para trabalhar com a estrutura de arquivos/dependências .NET.
No caso de App1, temos App1.exe, BizObjects.dll, DataAccess.dll e CustomControls.dll.Temos o mesmo conjunto de dependências para App2 devido aos BizObjects fazerem referência ao DataAccess - mas isso é definido manualmente.Não temos um sistema para identificar a árvore de dependências.
Cada uma das dependências de um "release" é um arquivo e um ID de versão.E o mesmo aplicativo pode conter versões diferentes de cada arquivo para uma carga de trabalho diferente.
- Onde no mundo erramos?Nós erramos?
- Como podemos estruturar uma árvore de origem SVN para acomodar os requisitos de implantação?
- ou
- como podemos reestruturar o código para melhor suportar uma estratégia de implantação que faça sentido para nossa configuração?
Temos uma solução antiga e superprojetada para (ao que parece) um problema relativamente simples.Alguém pode me orientar na direção certa?
editar:Eu leio esse pergunta e lembrei que também temos as mesmas áreas de desenvolvimento/teste/produção pelas quais o código deve passar.
Solução
Aqui está uma pergunta que pode ser relevante. Texto do link.
Outras dicas
Parece que você está tentando controlar a configuração com um sistema de controle de código-fonte.
O Subversion não pode ser a escolha certa, já que é realmente para código-fonte (arquivos ascii) e dependências de construção, não para arquivos executáveis (binários) e dependências de tempo de execução.
Meu palpite é que você realmente precisa de um instalador:http://en.wikipedia.org/wiki/List_of_installation_software
Ou talvez apenas um script para iniciar a configuração correta a partir de uma unidade de rede.