针对自定义文件夹的QBO3部署
问题描述:
我正在尝试为自定义QBO3安装实施MSBuild /部署脚本。我可以用我目前拥有的脚本构建并发布到远程开发机器。但是,我的msbuild脚本复制我的bin文件夹到C:/inetpub/wwwroot
,我需要他们在不同的目录(C:/inetpub/devqcc.quandis.net
)。针对自定义文件夹的QBO3部署
在我的脚本中,有没有一种方法可以指定不同的目标文件夹以便将文件复制到?
答
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>