2012-07-13 2 views
1

웹 배포 API (Microsoft.Web.Deployment)를 통해 웹 사이트를 배포하려고합니다.웹 배포 (MSDeploy) API "postSync : runCommand"

msdelpoy.exe를 사용하면 원하는만큼 많은 -postSync : runcommand (또는 preSync)를 수행 할 수 있지만 API를 통해이를 수행하는 방법을 알 수 없습니다.

내 배포 스크립트는 powershell에 있지만 여기에서는 .net 클래스가 사용되는 것을 볼 수 있습니다.

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Deployment") 
function CallMSDeploy([string]$destinationServer, [string]$destinationIISSiteName, $sourceDirectory) 
{ 
    $destBaseOptions = new-object Microsoft.Web.Deployment.DeploymentBaseOptions 
    $destBaseOptions.UserName = $deployUserName 
    $destBaseOptions.Password = $deployPassword 
    $destBaseOptions.ComputerName = $destinationServer 

    $syncOptions  = new-object Microsoft.Web.Deployment.DeploymentSyncOptions 

    $deploymentObject = [Microsoft.Web.Deployment.DeploymentManager]::CreateObject("contentPath", $sourceDirectory) 
    $deploymentObject.SyncTo("contentPath",$destinationIISSiteName,$destBaseOptions,$syncOptions); 
} 

내가 내가 "runCommand"공급자와 경로에서 지정할를 사용하여 Microsoft.Web.Deployment.DeploymentObjectProvider을 새로운 수 있다는 것을 알고 있지만, 나는 위의 배포 preSync에 어떻게 추가합니까?

미리 감사드립니다.

답변

1

preSync/postSyncMicrosoft.Web.Deployment API 자체가 아니라 msdeploy 명령 줄의 기능입니다. 둘 다 기본적으로 CreateObject().SyncTo(destOptions)에 대한 호출이며, 여기서 destOptions은 기본 동기화에서 복사됩니다.

PS에서 재생산하는 데 문제가 없어야합니다.

관련 문제