Application-Pool nicht gesetzt bei der Bereitstellung von msdeploy iisApp Paket

Ich habe ein Problem mit msdeploy nicht synchronisiert Anwendungspool Informationen für eine sub-Anwendung von einer Website (Default Web Site zum Beispiel).

Im wesentlichen ich hatte gehofft, ich könnte schaffen, webdeploy/msdeploy-Pakete als Teil einer nightly-build-Prozess der Entwicklung mehrere Zweige und stellen Sie diese Zweig-spezifische Pakete an einen server für Rauch testen. Scheint alles plausibel, aber leider kann ich nicht einen Weg finden, um die app-pool, den das bereitgestellte Paket ist iisApp bestimmt ist, zu verwenden. Ich kann erstellen und bereitstellen von Paketen, die appPoolConfig-Provider zur Unterstützung bei der Erstellung der app pool selbst, aber dies ist nutzlos, wenn ich nicht festlegen, dass die app-pool an die Anwendung, die ich bin bereitstellen.

Durch die Art und Weise, wie ich fühle ich bin fast bekräftigen anderen Fragen, die zu sein scheinen ähnlich. Verschiedene Antworten sind gegeben für die Verwendung appPoolconfig oder appPoolExtension aber ich habe kein Glück mit diesen. Aus meiner Lektüre appPoolConfig wird verwendet, um den sync-app-pools selbst, nicht die app-pool "zugewiesen", um eine Anwendung. Übrigens, diese Art der sync-Vorgang funktioniert gut. Und wie für appPoolExtension ich bin an einem Verlust, was es eigentlich nicht, wenn es eingeschaltet ist, da sehe ich keinen Unterschied in der erzeugten Paket.

Kann ich das problem reproduzieren mit einem einfachen Satz von Schritten, verwendet msdeploy nur mit WPP/webdeploy/msbuild in der Art und Weise, mit der Absicht, dass es funktionieren sollte mit der niedrigsten Stufe-tool allein:

Windows 8 (Hinweis: ich kann replizieren, das Problem auf Win 2008 R2), IIS und Web Deploy 3.0 installiert.

  1. Unter der Annahme einer Standard-Web-Seite existiert und .NET 4.0 installiert ist, erstellen Sie einen neuen Anwendungspool namens TestPool.
  2. Erstellen Sie eine neue Anwendung mit dem Namen TestApp unter Default Web Site ein und weisen Sie die Anwendung pool zum TestPool in Schritt 1 erstellt haben.
  3. Öffnen Sie die Eingabeaufforderung mit Pfad Zugang zu msdeploy.
  4. Typ >

    msdeploy -verb:sync -source:iisApp="Default Web Site/TestApp" -dest:package=c:\temp\testapp.zip,encryptPassword="password" -enableLink:AppPoolExtension
    
  5. Nun haben wir ein Paket, das wir löschen können TestApp unter der Standardwebsite, und löschen Sie alle verbleibenden physischen Ordner erstellt, als Teil der initiall Anwendung erstellen.
  6. Vorausgesetzt, wir haben noch die TestPool-Anwendungspool in IIS konfiguriert als ein Verfügbarer pool -, Typ - >

    msdeploy -verb:sync -source:c:\temp\testapp.zip,encryptPassword="password" -dest:iisApp="Default Web Site/TestApp" -enableLink:AppPoolExtension
    
  7. Öffnen Sie IIS-Manager, und wählen Sie unsere TestApp unter Default Web Site. Klicken Sie auf Basic Settings... und der Anwendungspool wird nicht auf dem TestPool erforderlich ist, sondern die Standard-pool-set für die Default Web Site.

Jede Hilfe ist willkommen.

BEARBEITEN:
Gerade lief eine variation des oben genannten Schritte, und ändern Sie die "iisApp" zu "appHostConfig" in beiden msdeploy Befehl Linien und die app-pool-Einstellungen werden beibehalten, so dass ein Erfolg von einem msdeploy Sicht. Allerdings, wenn das die Lösung ist, wie wird man informiert den VS 2012 publish-Prozess zu verwenden appHostConfig eher als issApp?

BEARBEITEN:
In Antwort auf meine eigene Bearbeiten dieser Antwort gearbeitet: https://stackoverflow.com/a/12741525/739097. Dies wirft eine weitere Frage und zwar darüber, wie man Sie integrieren die Erstellung des Pakets auf einem build-server ohne IIS, sondern meine Gedanken hier sind, dass man eine Vorlage erstellen, Paket zunächst auf der Grundlage der erforderlichen IIS-Einstellungen, dynamische Parameter, etc, aber im wesentlichen leer von Inhalten. Der build-Prozess würde dann ein Paket erstellen, der nur den Inhalt und synchronisieren Sie diese mit dem template-Paket zu erstellen, eine final-Paket für die Bereitstellung.

InformationsquelleAutor Mark | 2013-04-12
Schreibe einen Kommentar