Pergunta

Uma parte muito pequena de nossa base de código é algum código Java legado.Estou tentando adicionar uma nova compilação que invocaria o ant para construir este projeto.

O primeiro problema é que o TFS não permite criar uma compilação que não construa uma solução .Net.Resolvi isso copiando um arquivo de compilação anterior e adicionando uma tarefa EndToEndIteration que é o ponto de entrada para a compilação.

O problema é que nenhuma das variáveis ​​de construção usuais é preenchida - $(BuildDirectory), $(SolutionRoot) - todas em branco.Isso significa basicamente que não posso invocar minha tarefa formiga sem codificar os caminhos (o que definitivamente não posso fazer).

Alguma ideia?

Foi útil?

Solução 4

Obrigado por todas as respostas.

No final, recorri à inclusão de uma solução vazia ao lado do arquivo de construção.Dessa forma todas as variáveis ​​são preenchidas e simplesmente incluí uma que fazia tudo que eu queria.

Outras dicas

Você pode querer dar uma olhada Extensões de compilação do Teamprise que permite construir tarefas Ant ou Maven a partir do TFS.

  1. Se você ainda não tem uma, crie uma tarefa que irá armazenar e recuperar variáveis ​​de ambiente, você definitivamente vai precisar delas para fazer qualquer coisa relacionada a java (acredito que haja uma no Pacote de extensão MSBuild)
  2. Crie uma tarefa personalizada para encapsular o Ant ou use a tarefa Script do Tarefas da comunidade MSBuild coleção
  3. Execute-o um milhão de vezes e corrija os problemas conforme você avança, geralmente é mais fácil e rápido fazer isso na linha de comando, então faça amizade com msbuild.exe dentro do terminal

Você deve ser capaz de transmitir qualquer informação que desejar entre variáveis ​​de ambiente, tornando possível tudo o que você deseja.Não vou recomendar caminhos de codificação para você, mas você precisa colocar a configuração em algum lugar e tudo depende do que você deseja alterar e de como deseja que as coisas sejam organizadas.Se você realmente precisar, você pode enviar toda a configuração para um banco de dados e reduzi-la com uma das tarefas SQL nos links acima, mas lembre-se de que você está adicionando uma quantidade considerável de complexidade que pode ser desnecessária.

Pergunte a si mesmo:

  • com que frequência esse valor provavelmente mudará?
  • qual é o conjunto completo de tarefas que precisariam ser realizadas se isso mudar?

Escreva as respostas em algum lugar e certifique-se de que todos na equipe entendam.Quando se trata de construir sistemas na minha opinião “menos é mais”.Encontre a maneira mais simples de fazer isso, e faça isso até que isso se torne inaceitável e só então adicione complexidade...O TFS já é bastante complicado.

Acho que você está usando a ferramenta errada para o trabalho aqui - o TFS nunca será uma boa solução para construir qualquer outro aplicativo que não seja .NET.Eu acho que é melhor usar apenas o ant de forma independente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top