我正在尝试为自定义QBO3安装实现MSBuild /部署脚本。我可以使用我目前拥有的脚本构建并发布到远程开发机器。但是,我的msbuild脚本正在将我的bin文件夹复制到C:/inetpub/wwwroot
,我需要它们在不同的目录(C:/inetpub/devqcc.quandis.net
)中。
在我的脚本中,有没有办法为要复制的文件指定不同的目标文件夹?
答案 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确定放置文件的位置。这意味着您的目标框必须已经配置了网站才能使用您要定位的文件夹。
例如,假设您在磁盘上具有以下文件结构:
与相应的IIS网站:
要部署到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>