Domanda

Una porzione molto piccola della nostra base di codice è un po 'di codice legacy Java. Sto cercando di aggiungere una nuova build che invocare formica per costruire questo progetto.

Il primo problema è che TFS non consente di creare una build che non costruisce una soluzione Net. Ho avuto intorno a questo copiando un file di generazione precedente e l'aggiunta di un compito EndToEndIteration che è il punto di ingresso per la compilazione.

Il problema è che nessuna delle solite variabili di compilazione sono popolate - $ (BuildDirectory), $ (SolutionRoot) - tutto vuoto. Questo più o meno significa che non possono invocare il mio compito formica senza hardcoding i percorsi (che non posso assolutamente fare).

Tutte le idee?

È stato utile?

Soluzione 4

Grazie per tutte le risposte.

Alla fine ho fatto ricorso ad includere una soluzione vuota accanto al file build. In questo modo tutte le variabili sono popolate e ho semplicemente includeva una che ha fatto tutto quello che volevo.

Altri suggerimenti

Si consiglia di dare un'occhiata a Teamprise creare estensioni che permette di costruire attività Ant o Maven da TFS.

  1. Se non ne hai già uno, creare un'attività che memorizzare e recuperare le variabili di ambiente, si sta sicuramente andando ad avere bisogno di loro a fare tutto ciò che riguarda java (credo che ci sia uno nella MSBuild Extension Pack )
  2. Crea un'operazione personalizzata per avvolgere Ant o utilizzare l'attività Script dalle Attività MSBuild comunitari collezione
  3. Esegui un milione di volte e risolvere i problemi, come si va, di solito è più facile e veloce per fare questo dalla riga di comando, in modo da fare amicizia con MSBuild.exe all'interno del terminale

Si dovrebbe essere in grado di passare intorno qualsiasi informazione che si desidera tra le variabili di ambiente, fare quello che vuoi fare possibile. Non ho intenzione di raccomandare percorsi hard-codifica a te, ma devi mettere la configurazione da qualche parte ed è tutto un compromesso di ciò che si desidera modificare e come si vuole le cose organizzate. Se avete veramente bisogno di, si può spingere tutta la configurazione in un database e succhiare giù con uno dei compiti SQL in link qui sopra, ma solo ricordare che si sta aggiungendo una notevole quantità di complessità che può essere inutile.

Chiedetevi:

  • quanto spesso è questo valore rischia di cambiare?
  • qual è il set completo di attività che avrebbe bisogno di essere fatto se cambia?

Scrivi le risposte a che da qualche parte e assicurarsi che tutti nella squadra capisce. Quando si tratta di costruire sistemi a mio parere "less is more". Trovare il modo più semplice per farlo, e farlo fino a quando questo diventa inaccettabile e solo allora aggiungere complessità ... TFS è complicata già abbastanza.

Credo che si sta utilizzando lo strumento sbagliato per il lavoro qui - TFS non sarà mai una buona soluzione per la costruzione di una diversa da applicazioni .NET. Penso che si sta meglio solo utilizzando formica in una capacità autonoma.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top