2016-06-17 8 views
1

Ich habe eine Lösung, die eine Reihe von Klassenbibliothek-Projekten und eine IIS-Website enthält. Ich versuche, Teamcity zu konfigurieren, um das Website-Projekt über MSBuild/Web Deploy zu kompilieren und bereitzustellen.Bereitstellen eines Website-Projekts mit TeamCity

Die Projekte alle bauen in Ordnung, aber es scheint, dass es die Befehlszeilenparameter ignoriert die Website an den angegebenen Server

meine Frage ist, ist es möglich, zu erreichen, was ich suche zu tun schieben? oder kann dies nur mit einem Web-Anwendungsprojekt geschehen?

/P:Configuration=Release 
/P:DeployOnBuild=True 
/P:DeployTarget=MSDeployPublish 
/P:MsDeployServiceUrl=https://localhost:8172/msdeploy.axd 
/P:AllowUntrustedCertificate=True 
/P:MSDeployPublishMethod=WMSvc 
/P:CreatePackageOnPublish=True 
/P:UserName=SNIPPED 
/P:Password=SNIPPED 

Ich habe versucht, sowohl MSBUILD und Visual Studio Läufer mit den oben genannten Parametern

+0

Natürlich ist es möglich. Aber es ist unklar von Ihrer Frage, wo Sie stecken bleiben. Was meinst du mit "Befehlszeilenparameter ignorieren"? Und welche Art von Skript verwenden Sie (reine MSBuild-Datei, .bat-Datei, PowerShell, Gulp, Grunt, etc.) – NightOwl888

+0

Ich habe noch nicht mit einer Website fertig .. aber Web-Anwendungen sind sehr einfach als Web-Deploy zu packen (msdeploy) Paket über spezifische MSBuild-Parameter. – Bishoy

+0

@ NightOwl888 Ich benutze Msbuild. Was ich meine, ist es baut die Anwendung, es überspringt nur den Teil, wo es eingesetzt werden soll. Ich habe die Befehlszeilenargumente hinzugefügt – reds184

Antwort

2

Diese MSBuild Argumente werden nicht nur Web-Anwendungen für eine Website arbeiten. Sie können MSDeploy weiterhin verwenden, um die Website zu packen und bereitzustellen, Sie müssen sie jedoch manuell ausführen.

Hier ist ein Blogbeitrag, der es weiter erklärt.

http://www.dotnetcatch.com/2016/06/23/deploy-an-asp-net-website-not-web-application-with-msdeploy/

+0

danke Mann! Gibt es eine Möglichkeit, all das in die Befehle selbst zu integrieren? Es wird ein wenig schwierig, Variablen in die Manifest-Dateien zu übergeben. Ich dachte daran, vielleicht Powershell zu verwenden, um den Text in ihnen zu finden und zu ändern, aber ich denke, ich würde lieber die Befehlszeile explizit verwenden – reds184

+0

Ja, ich dachte, das wäre die nächste Frage. Sie können die WebDeploy-Parametrisierung zum Deklarieren/Festlegen von Parametern verwenden, die den ProviderPath-Typ aus der MSDeploy-Befehlszeile verwenden. http://forums.iis.net/t/1179672.aspx – chief7

Verwandte Themen