2017-01-12 4 views
2

Ich versuche einen Build zu erstellen, der meine Lösung erstellt, web.config transformiert und die gewünschte Ausgabe (ein erstelltes Web-API-Projekt) schließlich in den Artefaktbereich des Builds kopiert.Team Services Artefakte erstellen

Ich verwende die Azure WebApp-Vorlage mit dem Azure App Service Deploy-Schritt deaktiviert (während wir uns gerade in Azure befinden), mit den folgenden Build-Argumenten im Build-Schritt:

/p: DeployOnBuild = true/p: WebPublishMethod = Paket/p: PackageAsSingleFile = true/p: SkipInvalidConfigurations = true/p: Package = "$ (build.artifactstagingdirectory) \"/p: AutoParameterizationWebConfigConnectionStrings = false

Alles funktioniert wie erwartet, abgesehen von der Struktur der resultierenden Zip-Datei, die folgende Struktur hat:

{ZipFileName} {Projektname \ Inhalt \ C_C \ a \ 1 \ s \ Api {Projektname \ Objekt \ Freigabe \ Paket \ PaketTemp ... {BuildContent}

Ich möchte, dass der Inhalt die Wurzel von ist die veröffentlichte Zip-Datei, wenn möglich. Ist der beste Weg, um den Inhalt von $ (build.artifactstagingdirectory) mit Powershell oder einer Reihe anderer Build-Aufgaben zu manipulieren?

+0

„das ist, um das integrierte Projekt zu finden:“ Was meinen Sie damit? –

+0

Ja es wurde schlecht geschrieben, bearbeitet. –

+0

@MattRowett Lösen Sie dieses Problem? –

Antwort

2

Sie brauchen keine Sorgen zu machen, weil es nicht die Ordnerstruktur beibehalten wird (nur die Dateien und Ordner in PackageTmp Ordner) nach auf dem Web-Server bereitstellen (zB IIS, Azure Web App)

Wenn Sie die Dateien nur noch in den Ordner PackageTmp einfügen müssen, können Sie den Schritt Schritt zum Archivieren der Datei in die Zip-Datei über den Schritt Archive Files hinzufügen.

Geben Sie für den Visual Studio-Build-Schritt/p: DeployOnBuild = true für MSBuild-Argumente an.

enter image description here

+0

Wo würde ich die resultierende Zip-Datei sehen? Ich habe keinen Artefakt-Link in der Build-Zusammenfassung. –

+0

Gefunden, musste ich den Archivierungsschritt vor den Schritt "Artifact publizieren" stellen. –

+0

Da ich das erstellte Projekt nur für den Artefakt herunterladen möchte, habe ich einfach das Publish Artifact ... Path To Publish von $ (build.artifactstagingdirectory) auf {Project} I \ obj \ Dev \ Package \ PackageTmp \ geändert. Dies war nicht offensichtlich, bis Ihr Beitrag als \ obj-Ordner nicht in der Quellcodeverwaltung vorhanden ist und nicht mit den UI-Auslassungspunkten durchsucht werden kann. –

Verwandte Themen