2017-10-11 101 views
0

我正在嘗試爲自定義QBO3安裝實施MSBuild /部署腳本。我可以用我目前擁有的腳本構建併發布到遠程開發機器。但是,我的msbuild腳本複製我的bin文件夾到C:/inetpub/wwwroot,我需要他們在不同的目錄(C:/inetpub/devqcc.quandis.net)。針對自定義文件夾的QBO3部署

在我的腳本中,有沒有一種方法可以指定不同的目標文件夾以便將文件複製到?

回答

0

qbo3 MSBuild目標旨在支持文件系統部署和通過WebDeploy部署。

文件系統部署

要定位文件系統部署的自定義文件夾,指定PublishFolder參數:

& 'C:\Program Files (x86)\MSBuild\14.0\Bin\amd64\MSBuild' .\qbo3.Sample.proj /p:"PublishFolder=c:\inetpub\devqcc.quandis.net" 

WebDeploy

要定位與WebDeploy自定義文件夾(這聽起來像你的用例),指定一個SiteName參數:

& 'C:\Program Files (x86)\MSBuild\14.0\Bin\amd64\MSBuild' .\qbo3.Sample.proj /p:"SiteName=devqcc.quandis.net,Server=1.2.3.4,User=myUserName,Pwd=secret" 

WebDeploy不寫入文件路徑;相反,它與IIS通信,IIS決定將文件放在哪裏。這意味着您的目標框必須已經有一個網站配置使用您的目標文件夾。

例如,假設你有磁盤上的以下文件結構:

  • C:\的Inetpub \ wwwroot的
  • C:\的Inetpub \ devqcc.quandis.net
  • C:\的Inetpub \ uatqcc

與cooresponding IIS網站:

  • 默認Web站點:根文件夾是C:\的Inetpub \ wwwroot的
  • devqcc.quandis.net:根文件夾是C:\的Inetpub \ devqcc.quandis.net
  • uatqcc:根文件夾是C:\的Inetpub \ uatqcc .quandis.net

部署到c:\inetpub\devqcc.quandis.net文件夾,告訴WebDeploy使用devqcc.quandis.net網站:

& 'C:\Program Files (x86)\MSBuild\14.0\Bin\amd64\MSBuild' .\qbo3.Sample.proj /p:"SiteName=devqcc.quandis.net,Server=1.2.3.4,User=myUserName,Pwd=secret" 

部署到c:\inetpub\uatqcc.quandis.net文件夾,告訴WebDeploy使用uatqcc網站(注這個例子的網站名稱!=文件夾名稱):

& 'C:\Program Files (x86)\MSBuild\14.0\Bin\amd64\MSBuild' .\qbo3.Sample.proj /p:"SiteName=uatqcc,Server=1.2.3.4,User=myUserName,Pwd=secret" 

如果您查看qbo3.Sample.proj文件,注意,它提供了默認值均PublishFolder(文件系統部署)和SiteName(對於通過WebDeploy遠程部署):

<PublishFolder Condition=" '$(PublishFolder)'==''">c:\inetpub\wwwroot</PublishFolder> 
<SiteName Condition=" '$(SiteName)'==''">Default Web Site</SiteName> 
相關問題