标签: msdeploy

跳过msdeploy中的目录

我在我的nant脚本(Team City)中有一个msdeploy正在工作,除了它正在复制一些我不想复制的文件夹.什么命令会跳过这些目录?我试过了:

<arg value="-skip:objectName=dirPath,absolutePath=C:\Websites\slingshotportal\Build scripts"' />
and
<arg value='-skip:objectName=contentPath,absolutePath="C:\\Websites\\slingshotportal\\Build scripts"' />
Run Code Online (Sandbox Code Playgroud)

这些命令似乎都不起作用,Build脚本目录仍然从源目录复制到目标目录?msbuild执行同步,我将-source和-dest指定为contentPath.

skip absolute-path msdeploy

10
推荐指数
2
解决办法
8779
查看次数

如何将已构建的网站包MSdeploy到原始IIS网站

我正在尝试自动化我们的构建/部署过程.

到目前为止,我正在使用:

  • 具有主Web应用程序项目(和依赖项目)的Visual Studio 2010解决方案
  • 的MSBuild
  • MSDeploy
  • CruiseControl.Net

因此,经过多次争吵和咬牙切齿之后,我现在让CCNet开始使用MSBuild脚本来构建,打包和部署网站.该MSBuild的脚本如下:

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Build"> 
    <MSBuild Projects="$(CCNetWorkingDirectory)\src\Product.sln"
                    Targets="Clean;Rebuild"
                    Properties="Configuration=$(Configuration)"
    />
</Target>

<!--<Target Name="Test" DependsOnTargets="Build">
    <MSBuild Projects="$(CCNetWorkingDirectory)\src\Product.Web.Tests\Product.Web.Tests.csproj"
                    Properties="Configuration=$(Configuration);OutputPath=$(CCNetArtifactDirectory)\Tests\" />
    <Exec Command="$(MSTestPath) /testcontainer:$(CCNetArtifactDirectory)\Tests\Product.Web.Tests.dll /runconfig:$(CCNetWorkingDirectory)\src\Local.testsettings" ContinueOnError="false" />
</Target>-->

<Target Name="Package" DependsOnTargets="Build"> 
    <MSBuild Projects="$(CCNetWorkingDirectory)\src\Product.Web\Product.Web.csproj"
                    Targets="Package"
                    Properties="Configuration=$(Configuration);PackageLocation=$(PackageDir)\Product.zip"
    />
</Target>

<Target Name="Deploy" DependsOnTargets="Package">
    <Exec Command="&quot;$(MSDeployPath)&quot; -source:package='$(PackageDir)\Product.zip' -dest:auto,computerName='$(MSDeployComputerName)',includeAcls='False' -verb:sync -setParamFile:$(PackageDir)\Product.SetParameters.xml" ContinueOnError="false" />
</Target>
Run Code Online (Sandbox Code Playgroud)

只要在目标机器上已经有一个在IIS中配置的网站,这一切都可以正常工作.这不需要是现有的"真实"站点(它可能只是一个shell).

虽然这很棒,但我真的希望MSDeploy能够自动创建网站,因为它似乎可以用于网络应用程序.这可能吗?如果有的话,任何帮助将不胜感激!

asp.net cruisecontrol.net msbuild msdeploy

10
推荐指数
2
解决办法
4609
查看次数

MsDeploy远程执行清单两次

我有:

  1. 为msdeploy创建了一个清单:
    停止,卸载,复制,安装和启动Windows服务.
  2. 从清单创建一个包
  3. 针对远程服务器对包执行msdeploy.

问题:它执行两次整个清单.

尝试:我已经修改了waitInterval和waitAttempts认为它已经超时并重新开始,但是没有帮助.

问题:可能使它执行两次?

清单:

<sitemanifest>
  <runCommand path="net stop TestSvc"
              waitInterval="240000"
              waitAttempts="1"/>

  <runCommand 
    path="C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u
       C:\msdeploy\TestSvc\TestSvc\bin\Debug\TestSvc.exe"
       waitInterval="240000"
       waitAttempts="1"/>

  <dirPath path="C:\msdeploy\TestSvc\TestSvc\bin\Debug" />

  <runCommand 
    path="C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe
    C:\msdeploy\TestSvc\TestSvc\bin\Debug\TestSvc.exe"
    waitInterval="240000"
    waitAttempts="1"/>

  <runCommand path="net start TestSvc"
    waitInterval="240000"
    waitAttempts="1"/>

</sitemanifest>
Run Code Online (Sandbox Code Playgroud)

发出包装命令:

"C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy" 
         -verb:sync 
         -source:manifest=c:\msdeploy\custom.xml 
         -dest:package=c:\msdeploy\package.zip
Run Code Online (Sandbox Code Playgroud)

发出执行它的命令:

"C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy" 
         -verb:sync 
         -source:package=c:\msdeploy\package.zip 
         -dest:auto,computername=<computerNameHere>
Run Code Online (Sandbox Code Playgroud)

我作为具有管理访问权限的域用户运行.我也尝试过传递凭据 - 这不是权限问题,命令是成功的,只执行两次.


编辑:

我启用-verbose并在日志中找到了一些有趣的行:

详细:执行同步传递#1.

...

详细:源文件路径(C:\ msdeploy\MyTestWindowsService\MyTestWindowsService\bin\Debug\MyTestWindowsService.exe)与属性不同的目标(C:\ msdeploy\MyTestWindowsService\MyTestWindowsService\bin\Debug\MyTestWindowsService.exe)不匹配(lastWriteTime [ '11/08/2011 23:40:30','11/08/2011 23:39:52']).更新待定.

详细:源文件路径(C:\ msdeploy\MyTestWindowsService\MyTestWindowsService\bin\Debug\MyTestWindowsService.pdb)与属性不同的目标(C:\ msdeploy\MyTestWindowsService\MyTestWindowsService\bin\Debug\MyTestWindowsService.pdb)不匹配(lastWriteTime [ '11/08/2011 23:40:30','11/08/2011 23:39:52']).更新待定.

在这些行之后,第一次不复制文件,而是第二次复制文件 …

deployment iis msdeploy

10
推荐指数
1
解决办法
2009
查看次数

Web部署脚本错误 - 在此计算机上找不到msdeploy.exe

我正在尝试在干净的构建Windows Server 2008 R2计算机上执行Web部署脚本并收到以下错误:

ERROR: The system was unable to find the specified registry key or
Run Code Online (Sandbox Code Playgroud)

值.在此计算机上找不到msdeploy.exe.请在执行脚本之前安装Web Deploy.

该软件包是在VS2010中创建的,并且在我的开发盒上执行正常(一如既往!).如果我通过IIS在服务器上导入包,一切正常.

Web Deploy已通过Web部署工具2.1通过Web PI安装在服务器上,并且我已验证包含msdeploy.exe.我正在通过"IIS Extensions/Web Deploy命令行"开始菜单项运行脚本,所以我猜测应该设置正确的路径.我也以管理员的身份尝试了同样的错误.

任何帮助非常感谢.

web-deployment msdeploy

10
推荐指数
2
解决办法
8058
查看次数

具有MSBuild的Web部署不从TeamCity部署

我正在尝试使用MSDeploy使用TeamCity将MVC项目部署到服务器.当我在powershell中的计算机上执行此操作时,使用以下命令:

msbuild.exe .\mvc.csproj /p:PublishProfile=DevServer /p:VisualStudioVersion=11.0
/p:DeployOnBuild=True /p:Password=MyPassword /p:AllowUntrustedCertificate=true
Run Code Online (Sandbox Code Playgroud)

它构建项目并将其部署到服务器(DevServer发布配置文件中定义的信息).输出MSDeployPublish结尾显示了一个部分,其中我看到了文本Starting Web deployment task from source...,然后是行,告诉我哪些文件已更新,等等.

当我在TeamCity上使用MSBuild Build步骤在同一个文件上使用相同的参数(来自同一个工作目录)运行它时,它会构建项目但不会发布它.相反,它具有构建过程(CoreCompile,_CopyFilesMarkedCopyLocal,GetCopyToOutputDirectoryItems,CopyFilesToOutputDirectory)的常规输出,但实际上并没有发布任何内容.

我需要对TeamCity中的设置进行哪些更改才能使其以与从我的计算机上使用MSBuild一样的方式发布部署?

(TeamCity 7.1,MSBuild 4.0,WebDeploy 3.0,Visual Studio 12,IIS 7.与我之前的问题相关)

msbuild teamcity msdeploy webdeploy visual-studio-2012

10
推荐指数
3
解决办法
1万
查看次数

如何将deployIisAppPath指定为非DefaultWebSite的站点根目录?

我有一个ASP.NET MVC Web应用程序项目,我想部署到我的IIS Web服务器.站点树是这样设置的:

SERVERNAME(myDomain\Username)
   Application Pools
   Sites
      Default Web Site
      MyProjectSite
         bin
         Content
         ...
         Views
Run Code Online (Sandbox Code Playgroud)

我正在尝试部署到MyProject站点.请参阅下面我正在使用的设置与我要返回的错误.我显然没有正确指定我的网站路径,但对于我的生活,我无法弄清楚它应该是什么.

迭代之间的以下设置保持不变:

/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:CreatePackageOnPublish=False /p:MSDeployPublishMethod=WMSvc /p:AuthType=Basic /p:Username="myUserName" /p:Password="MyPassword" /p:AllowUntrustedCertificate=True

将SiteName /指定为IISAppPath:

参数:

/p:MsDeployServiceUrl="https://serverName:8172/MsDeploy.axd?Site=MyProjectSite" /p:DeployIisAppPath="MyProjectSite/"

错误:

Could not complete an operation with the specified provider ("createApp") when connecting using the Web Management Service - 我不想创建新网站.我想同步已经存在的内容.

将IISAppPath指定为Root(假设使用了URL中的网站名称)

参数:

/p:MsDeployServiceUrl="https://serverName:8172/MsDeploy.axd?Site=MyProjectSite" /p:DeployIisAppPath="/"

错误:

Could not complete an operation with the specified provider ("iisApp") when connecting using the Web Management Service - 看起来它正试图访问默认网站或其他东西(我故意不给自己的权利).

将IISAppPath指定为空字符串(假设使用URL中的网站名称)

参数:

/p:MsDeployServiceUrl="https://serverName:8172/MsDeploy.axd?Site=MyProjectSite" /p:DeployIisAppPath=""

错误: …

iis msbuild tfs msdeploy

10
推荐指数
1
解决办法
9943
查看次数

如何使用webdeploy定位已存在的应用程序池?

我正在尝试确保将我的应用程序部署到使用Web Deploy时已存在的特定应用程序池.在通过IIS管理器安装应用程序时,或者通过从Web包通过命令行安装时更改.setparameters.xml文件中的值,应由用户使用GUI配置应用程序池.将以下参数条目插入我的parameters.xml中并不起作用.

<parameter name="Application Pool" description="Application Pool for this site" tags="iisApp" defaultValue="ASP.NET v4.0">
    <parameterEntry kind="providerPath" scope="IisApp" match="applicationPool" />
</parameter>
Run Code Online (Sandbox Code Playgroud)

有没有直接的方法来实现这一目标?如果没有,我将如何完成这项工作?

msdeploy webdeploy microsoft-web-deploy

10
推荐指数
1
解决办法
6236
查看次数

Msbuild只生成一个包,但在使用发布配置文件时不会部署它.为什么?

MSBuild似乎真的很喜欢我.最近,我正在尝试从命令行构建和部署的不同可能性.但是,当我将发布配置文件传递给MSBuild时,我遇到了一些看似奇怪的行为.

这是我刚刚做的一个例子:

我暂时使用以下命令部署到本地IIS:

msbuild D:\PathToFile\DeployDBVariation01\DeployDBVariation01\DeployDBVariation01.csproj
    /p:Configuration=Release;
    Platform=AnyCpu;
    DeployOnBuild=true;
    DeployTarget=MSDeployPublish;
    MSDeployServiceURL="localhost";
    DeployIisAppPath="DeployApp/DeployThis";
    MSDeployPublishMethod=InProc;
    Username=thisIsNotActuallyMyUsername;
    password=guesswhat;
    AllowUntrustedCertificate=true
Run Code Online (Sandbox Code Playgroud)

这有效!之后它已成功部署,我可以在浏览器中调用它.

但是,由于Visual Studio使我们能够轻松使用发布配置文件,因此我想通过命令行与MSBuild一起尝试,并尝试使用以下命令:

msbuild D:\PathToFile\DeployDBVariation01\DeployDBVariation01\DeployDBVariation01.csproj
    /p:DeployOnBuild=true;
    AllowUntrustedCertificate=true;
    PublishProfile=ReleaseLocal
Run Code Online (Sandbox Code Playgroud)

ReleaseLocal是我在Visual Studio中创建的配置文件,它看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>MSDeploy</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <MSDeployServiceURL>localhost</MSDeployServiceURL>
    <DeployIisAppPath>DeployApp/DeployThis</DeployIisAppPath>
    <RemoteSitePhysicalPath />
    <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
    <MSDeployPublishMethod>InProc</MSDeployPublishMethod>
    <EnableMSDeployBackup>False</EnableMSDeployBackup>
    <UserName />
    <_SavePWD>False</_SavePWD>
    <PublishDatabaseSettings>
      <Objects xmlns="">
        <ObjectGroup Name="DefaultConnection" Order="1" Enabled="False">
          <Destination Path="Data Source=.\SQLEXPRESS;Initial Catalog=HorstDataProductive;User ID=sa;Password=GuessWhat" />
          <Object Type="DbDacFx">
            <PreSource Path="Data Source=.\SQLEXPRESS;Initial Catalog=HorstData;User ID=sa;Password=GuessWhat" includeData="False" />
            <Source Path="$(IntermediateOutputPath)AutoScripts\DefaultConnection_IncrementalSchemaOnly.dacpac" dacpacAction="Deploy" />
          </Object>
          <UpdateFrom Type="Web.Config">
            <Source MatchValue="Data …
Run Code Online (Sandbox Code Playgroud)

msbuild web-deployment msdeploy webdeploy

10
推荐指数
1
解决办法
2万
查看次数

MsDeploy - 无法更新应用程序池

我一直在浏览几十个网站,以帮助我使用MsDeploy将Web服务部署到IIS.我需要创建应用程序,修改应用程序池并启用协议,并更新appSetting(包含连接字符串,不要问我原因).

我可以做所有这些,除了应用好的应用程序池.

这是我添加到项目中的parameters.xml文件:

<parameters>
  <parameter tags="IisApp" defaultValue="Default Web Site/MyWebService" name="IIS Web Application Name">
    <parameterEntry match="@defaultValue" scope="IisApp" kind="ProviderPath"/>
    <parameterEntry match="@defaultValue" scope="setAcl" kind="ProviderPath"/>
  </parameter>
  <parameter name="Configuration Connection String" defaultValue="Some real Connection String in there" tags="">
    <parameterEntry kind="XmlFile" scope="\\web.config$" match="/configuration/appSettings/add[@key='ConfigurationSQLConnectionString']/@value" />
  </parameter>
  <parameter name="Application Pool" defaultValue="MyOwnAppPool" description="Application pool for this site">
    <parameterEntry kind="DeploymentObjectAttribute" scope="application" match="/application/@applicationPool" />
  </parameter>
</parameters>
Run Code Online (Sandbox Code Playgroud)

这是我生成包的方式:

MsBuild MyWebService.csproj /T:Package /P:PackageLocation="c:\somewhere\package.zip" /P:IncludeAppPool=true /P:IncludeIisSettings=true
Run Code Online (Sandbox Code Playgroud)

这是生成的archive.xml文件:

<sitemanifest MSDeploy.ObjectResolver.dirPath="Microsoft.Web.Deployment.DirPathObjectResolver" MSDeploy.ObjectResolver.filePath="Microsoft.Web.Deployment.FilePathObjectResolver">
  <appHostConfig path="Default Web Site/MyWebService" MSDeploy.path="2" MSDeploy.MSDeployLinkName="Child1" MSDeploy.MSDeployKeyAttributeName="path" MSDeploy.MSDeployProviderOptions="some stuff">
    <application path="/MyWebService" MSDeploy.path="2" applicationPool="DefaultAppPool" MSDeploy.applicationPool="1" …
Run Code Online (Sandbox Code Playgroud)

c# iis msbuild msdeploy visual-studio

10
推荐指数
1
解决办法
1924
查看次数

使用MS Build的IIS WebDeploy失败,错误MSB4044 -ConcatFullServiceUrlWithSiteName任务

在设置Jenkins部署作业时,尝试通过命令行部署Visual Studio 2012 Web项目时,我一直遇到此错误.

错误MSB4044:"ConcatFullServiceUrlWithSiteName"任务未获得所需参数"SiteAppName"的值

作为参考,以下是我使用的参数:

/p:Configuration=Release /t:Rebuild  /p:VisualStudioVersion=11.0 /p:PublishProfile="DeployToDevServer" 
/p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish 
/P:AllowUntrustedCertificate=True /p:MSDeployPublishMethod=WMSvc
/p:MsDeployServiceUrl=https://devmachine.server.com:8172/MsDeploy.axd 
/p:username=domainhere\adminuserhere /p:password=adminpasshere
Run Code Online (Sandbox Code Playgroud)

注意:如果我从项目内部选择Publish ...,它会部署得很好.

msbuild msdeploy visual-studio-2012

10
推荐指数
2
解决办法
5180
查看次数