Howto: Reference arquivos SLN externos com o TeamCity
-
06-07-2019 - |
Pergunta
Sou novo no TeamCity e temos vários projetos comuns sob controle de origem que são referenciados diretamente em projetos relevantes, ou seja:
Common
branches
tags
trunk
CommonProject
CommonProject.csproj
Common.sln
ProjectX
branches
tags
trunk
ProjectX.sln
Como resultado, a referência a "CommonProject.csproj" em "ProjectX.sln" é algo parecido com ... Common trunk Commonproject Commonproject.csproj, que é bom em nossos ambientes de desenvolvimento, mas quando se trata de Teamcity que ele cai em dizer que não pode encontrar o caminho ".... Common trunk Commonproject Commonproject.csproj"
Qual é a melhor maneira de contornar esse problema? Tentei adicionar o Commonproject à TeamCity como uma dependência, mas ainda não parece querer jogar bola ...
Obrigado
Tim
Solução
Nós abordamos isso usando externos no subversão, o que permite extrair coisas de um repositório diferente (bit do).
Então, quando estamos construindo as soluções, temos esses projetos comuns agrupados nas mesmas pastas com solução específica do projeto - ou seja, quando verificamos as coisas que temos:
Solution1
+---Project1
+---Project2
+---Project3
+---Common1
+---Common2
Então, separadamente:
Solution2
+---ProjectA
+---ProjectB
+---ProjectC
+---Common1
+---Common2
Como temos os externos e a estrutura de diretório/pasta configurada dessa maneira, você deve, em teoria, ser capaz de verificar (ou exportar) uma "solução" para um diretório vazio e construí -lo com sucesso do zero (sujeito a todo o necessário Ferramentas que estão sendo instaladas) e, portanto, o TeamCity (ou qualquer que seja o seu servidor de integração contínuo) deve ser capaz de construí -lo do zero. De fato, mesmo antes de encararmos o uso do TeamCity, eu tinha isso como política, mas o valor é mais claro quando você começa a fazer integração contínua.
O bit apropriado do Livro Vermelho de Subversão está aqui: Definições externas