2017-10-11 66 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> 
相关问题