针对自定义文件夹的QBO3部署

时间:2017-10-11 12:18:45

标签: powershell msbuild webdeploy

我正在尝试为自定义QBO3安装实现MSBuild /部署脚本。我可以使用我目前拥有的脚本构建并发布到远程开发机器。但是,我的msbuild脚本正在将我的bin文件夹复制到C:/inetpub/wwwroot,我需要它们在不同的目录(C:/inetpub/devqcc.quandis.net)中。

在我的脚本中,有没有办法为要复制的文件指定不同的目标文件夹?

1 个答案:

答案 0 :(得分: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

与相应的IIS网站:

  • 默认网站:根文件夹是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>