2010-10-26 5 views
11

Ich stelle eine Website mit MSDeploy bereit, die den folgenden Code verwendet.Legen Sie den Anwendungspool für das Paket mit MSDeploy fest.

"%ProgramFiles%\IIS\Microsoft Web Deploy\msdeploy.exe" 
    -verb:sync 
    -source:package=WebAppServer.zip 
    -dest:Auto 
    -setParamFile="was_params.xml" 
    -verbose 
      > webappserversync.log 

Gibt es trotzdem den Anwendungspool? Ich möchte dies über die Befehlszeile tun und nicht in einem Manifest oder etwas Ähnlichem setzen.

Sollte nicht wichtig sein, aber das ist in IIS7.

Antwort

18

Wenn Sie Ihr Paket generieren, benötigen Sie einen Eintrag in der Datei parameters.xml, um den Anwendungspool festzulegen. Bei der Bereitstellung fügen Sie entweder einen Wert dafür in Ihre setParameters.xml-Datei ein oder verwenden Sie -setParam über die Befehlszeile.

Hier ist der Befehl, den ich eine Website greifen verwendet, die die richtige parameters.xml Datei generiert ...

msdeploy.exe 
    -verb:sync -source:appHostConfig="Default Web Site" 
    -enableLink:AppPoolExtension 
    -dest:package=site.zip 
    -declareParam:name="Application Pool", 
     defaultValue="Default Web Site", 
     description="Application pool for this site", 
     kind=DeploymentObjectAttribute, 
     scope=appHostConfig, 
     match="application/@applicationPool" 

Und diese Seite von der Kommandozeile aus zu installieren, diese ...

msdeploy.exe 
    -verb:sync 
    -dest:appHostConfig="MagicSite" 
    -enableLink:AppPoolExtension 
    -source:package=site.zip 
    -setParam:"Application Pool"="MagicPool" 

Suchen Sie in der Datei parameters.xml nach dem erforderlichen Eintrag. Und wenn Sie bevorzugen, kann dieser -setParam Eintrag in Ihrer params.xml Datei stattdessen existieren.

+5

geblasen, wenn ich das zur Arbeit bekommen kann. Den App-Pool problemlos zu scripten, aber das Festlegen dieses Parameters beim Aufruf von msdeploy scheint keinen Unterschied zu machen. – piers7

1

Werfen Sie einen Blick auf diese Antwort:

Set application pool with MSDeploy and TFS 2010

Grundsätzlich Sie eine Batchdatei mit einem adsutil Skript erstellen, die App-Pool zu setzen, und dann rufen Sie MSDeploy, dass Batch-Datei auf dem Ziel laufen Computer.

+0

... um den App-Pool zu erstellen. Aber wie ziele ich auf die Website ab? – piers7