2016-08-18 11 views
0

Ähnlich wie die Frage hier: Copy one file in target directory on deploy from visual studio team services, ich versuche, den Inhalt des app.publish Verzeichnis einer ClickOnce-Anwendung über VSTS Build/Release zu kopieren.Kopieren app.publish Ordner in VSTS Build/Release

Dies ist das Kopieren Publish Artifact Schritt der Build Copy Publish Artifact Step

Das ist offensichtlich gibt alles in den Papierkorb-Ordner in dem Drop-Ordner auf dem Server teilen.

Dies ist das Kopieren von Dateien Schritt der Veröffentlichung Copy Files Step

Diese kopiert nur die Dateien im Ordner app.publish aber es baut die gesamte Hierarchie in den Ordner app.publish Ordner aus; Es baut jedoch die vollständige Ordnerstruktur auf. d. h. bin \ Release \ app.publish oder bin \ Debug \ app.publish.

Ich mag die Idee, in der Lage zu sein, verschiedene Konfigurationen zu veröffentlichen und zu speichern (debug/release), aber ich mag es nicht, dass ich die InstallUrl in den Msbuild-Argumenten angeben muss, um debug/release in zu nehmen der Ordnerpfad. Selbst wenn ich nicht versuchen würde, mehrere Konfigurationen zu verwalten, wäre die Konfiguration immer noch im Pfad.

Also meine Frage ist: Gibt es eine Möglichkeit, die Kopierdateien Aufgabe zu verwenden, um nur den app.publish Ordner und/oder den Inhalt an einen anderen Ort zu kopieren, ohne dass es die vollständige Hierarchie erstellen?

Antwort

0

Sie benötigen die Kopie Wurzel in Quellordner von Dateien kopieren, in Ihrem Beispiel zu geben, sollte die Kopie Wurzel sein wie:

Quellordner:$(System.DefaultWorkingDirectory)\$(Build.DefinitionName)\bin\$(BuildConfiguration)\

Inhalt:**\app.publish\**

Auf diese Weise sollten Sie app.publish nur in Ihrem Zielordner haben.

+0

Die $ (BuildConfiguration) variabel ist, ohne manuell erstellen es in der RELEASE Dateien kopieren Schritt nicht zur Verfügung.Ich wollte jedoch, dass die Release-Definition von der Build-Konfiguration des Builds, die der Release-Definition zugeordnet ist, stammt. –

+0

Wie verwenden Sie diesen Schritt in Build-Definition und den Ordner app.publish mit anderen Ausgaben zusammen. –

0

Konfigurieren Sie den "Copy Root" von "Copy Publish Artifacts" Schritt in Ihrer Build-Definition auf den Pfad des Build-Konfigurationsordners und "Content" auf "**".

Zum Beispiel, wenn der Pfad des Build-Ausgabe ist:

C: \ a \ 1 \ s \ SolutionFolder \ ProjectFolder \ bin \ Relase \ app.publish ...

Sie können die Kopie der Start einzustellen:

$ (build.sourcesdirectory) \ SolutionFolder \ ProjectFolder \ bin \ $ (BuildConfiguration)

und Content-Set:

**