2016-05-14 18 views
6

Ho letto molti articoli sulla pubblicazione da TeamCity utilizzando varie versioni di Visual Studio. Attualmente sto usando v.9.1.7 di TeamCity e Visual Studio 2015.TeamCity pubblica utilizzando Visual Studio 2015

ho i miei 3 passaggi di compilazione del check-in:

  • Clean & Ricostruire
  • Unit Test
  • Pubblicare

Build Steps

Quando controllo nei miei file ottengo un Tes ts Passato messaggio di successo:

Tests Passed

posso dire da qui qualcosa non è giusto come io mi aspetto che dire qualcosa sulla pubblicazione. Quando guardo Build Log vedo il seguente:

[00:48:22] [API \ API.sln] Pubblica [12:48:22] [Pubblica] MSBuild [00:48: 22] [MSBuild] API \ API \ API.csproj: costruire bersaglio: Pubblica [00:48:22] [API \ API \ API.csproj] _DeploymentUnpublishable

mio Pubblica costruire passo è configurato in questo modo :

Publish Build Step

Nel mio A Il progetto PI in Visual Studio I può pubblicare nella posizione corretta sulla rete. Qui è il mio profilo di pubblicazione:

Visual Studio Publish Profile

Non sono sicuro di quello che mi manca. Mi aspetto che la fase di pubblicazione della pubblicazione funzioni come quando faccio clic sulla voce di menu Build-> Pubblica in Visual Studio.

Suppongo che mi sfugga qualcosa o fraintenda cosa dovrebbe fare il passo dell'editoria.

Qualsiasi aiuto è apprezzato.

+0

Non è sicuro che questo risolverà il problema, ma il campo "obiettivi" nel passo di pubblicazione dovrebbe avere le destinazioni separate da uno spazio o da un punto e virgola in base al commento, ad es. 'Ricostruisci; Pubblica ' –

risposta

4

Sono riuscito a farlo funzionare dopo giorni e giorni di ricerca. Ho trovato parte della risposta qui su Stack Overflow. Il trucco era quello di farlo funzionare dalla riga di comando MSBuild:

C: TFS \ progetto \ \ myProject \ APIproject> msbuild apiproject.csproj /p: DeployOnBuild = true /P: PublishProfile = "Proprietà \ PublishProfiles \ DEV.pubxml " /p: VisualStudioVersion = 14.0

Una volta ho avuto questo correre diverse volte sono stato in grado di creare un passaggio di generazione in Team Città (vedi questo question/answer) e ho impostato il seguente: percorso del file

  • Corporatura: <location of the apiproject.csproj>
  • versione MSBuild: Microsoft creare strumenti 2015
  • MSBuild ToolsVersion: piattaforma 14,0
  • Run: 86
  • comando Li Parametri ne: /p:DeployOnBuild=true /p:PublishProfile= "C:\TFS\API\API\Properties\PublishProfiles\DEV.pubxml" /p:VisualStudioVersion=14.0
1

IIRC, la pubblicazione da TeamCity richiede determinati file o in alternativa VS installato sull'agente di build (che in realtà non è consigliabile). Hai copiato i file necessari per l'agente di creazione?

+0

Che cos'è IIRC? In questo momento tutto è sulla mia macchina locale. Quindi tecnicamente ho VS dove TC è. Una volta ottenuto tutto ciò che ho composto, ho intenzione di spostarlo nella sua scatola. – webdad3

+0

Se ricordo correttamente –

1

Dove sono definiti i percorsi degli elementi. E puoi usare Tentacles per pubblicare la build in vari ambienti. Immagino, devi guardare verso le configurazioni degli artefatti.

0

VS probabilmente trovare il tuo profilo di pubblicazione con solo il nome, come: /p:DeployOnBuild=true;/p:PublishProfile=DEV; molto utile se si esegue più di un agente di compilazione.

E se si sta distribuendo a un IIS potrebbe essere necessario aggiungere AllowUntrustedCertificate=true;

1

È possibile utilizzare MSBuild corridore per distribuire l'applicazione/API enter image description here

Aggiungere parametro della riga di comando:

/t:Clean /p:DeployOnBuild=true /t:build /t:publish /p:PublishProfile=C:\_works\teamcity\publishprofiles\Publiush_Profile.pubxml /p:VisualStudioVersion=12.0 

PublishPrfile URL deve essere il percorso del tuo profilo di pubblicazione.

Questo funzionerà per voi.

Problemi correlati