标签: msdeploy

MSDeploy仅将配置从IIS 6迁移到7

我们在IIS 6服务器上有19个网站,其中许多都有许多"虚拟"目录.我试图将整个事务迁移到另一台服务器上的IIS 7.

按照http://learn.iis.net/page.aspx/427/migrate-a-web-site-from-iis-60-to-iis-70/上的说明,我尝试了以下命令行执行:

msdeploy -verb:sync -source:metakey=lm/w3svc -dest:package=D:\Temp\Sites.zip > D:\temp\WebDeployPackage.log
Run Code Online (Sandbox Code Playgroud)

它似乎工作,直到我得到"磁盘上没有足够的空间"错误.D驱动器,你会注意到它是包的目标位置,并且日志有足够的空间(网站的所有资源都是大约5GB,驱动器有200+).虽然C盘的尺寸有限(6Gb),但这可能是问题所在.

无论如何,我认为最好的办法是尝试迁移设置/配置,而不是实际资源.我们可以使用我们的NAnt构建脚本轻松地将资源部署到新服务器,因此这不是问题.然而,移动所有正确的配置将是手动执行的挑战.

那么,有没有办法使用msdeploy(或任何其他工具?)导出/打包IIS 6服务器的配置/选项?

iis-7 iis-6 msdeploy

6
推荐指数
1
解决办法
6680
查看次数

msdeploy ---它有效还是吮吸?

我经常和小的ASP.NET/C#应用程序更改,因此需要一种机制来以最小的麻烦部署这些更改到我的服务器.我明白msdeploy是要做的伎俩,但我觉得它很麻烦.一个星期后,我仍然无法让它工作(针对EC2服务器),我相信错误响应是无用的.有没有人真正使用这个工具?任何有效的替代方案......不那么糟糕?

c# asp.net amazon amazon-ec2 msdeploy

6
推荐指数
0
解决办法
920
查看次数

如何使用MSDeploy Parameters.xml文件更改名称空间中的XML元素?

我无法使用MSDeploy 更改Web.config中的元素.我的Parameters.xml文件:

<parameterEntry
  kind="XmlFile"
  scope="\\web.config$"
  match="//spring/objects/object[@id='CultureResolver']/@type" />
Run Code Online (Sandbox Code Playgroud)

Web.config的相关部分:

<spring>
    <objects xmlns="http://www.springframework.net">

        <object id="CultureResolver" type="Spring.Globalization.Resolvers.SessionCultureResolver, Spring.Web">
             <!--configure for server--> 
            <property name="DefaultCulture" value="en" />
        </object>
    </objects>
</spring>
Run Code Online (Sandbox Code Playgroud)

xml xpath msdeploy

6
推荐指数
2
解决办法
1864
查看次数

MSDeploy在一个包中的所有配置[.config文件]

我们目前有4种不同的环境(Lab,Test,Stage,LIVE),我们使用Nant/CC.Net实现了自动部署.我正在调查并研究使用新的MSDeploy工具可以更有效地完成哪些工作.

我想要实现的是创建一个包含Configuration文件夹的包,在该文件夹中我们将拥有所有可能环境的所有不同配置文件(基本上添加所有配置转换文件)

我想要实现的是在我们的企业环境中自动部署,在这种环境中,开发团队无法访问将要部署的服务器.我们只需要使用预定义的指令移交部署包,以了解如何安装软件包.

什么是你能想到的最好的方法.我们不使用TFS,并且不希望自动构建过程依赖于任何过程,除了MSDeploy或易于替换的东西.关于使用MSBuild的思考.

.net cruisecontrol.net msbuild nant msdeploy

6
推荐指数
1
解决办法
1471
查看次数

MSBuild包位置

当我使用/ t:Package参数运行MSBuild时,我希望能够指定包含*.cmd和*.zip文件的文件夹的输出位置.指定_PackageTempDir会在没有部署文件(*.cmd和*.zip)的情况下输出整个应用程序.有没有办法在命令行中指定它?

更新: OutDir参数输出超过我需要或想要的.

msbuild package msdeploy

6
推荐指数
2
解决办法
9981
查看次数

msdeploy跳过exact-name文件夹

..

这是交易:我正在尝试使用msdeploy上传文件.我的根目录中有一个名为Search的文件夹,我想让它跳过.

所以,我写了一个像这样的跳过指令:

-skip:objectName=dirPath,absolutePath="Search"
Run Code Online (Sandbox Code Playgroud)

好消息:它像我想要的那样跳过Search文件夹.

坏消息:它还会跳过名称中包含"搜索"的任何文件夹(例如:"研究"),我希望这样做.(此外,正在跳过的"Research"文件夹不在Web根目录下,这引起了对控制跳过哪些文件夹位置的担忧.)

我尝试了几种变体,包括:

-skip:objectName=dirPath,absolutePath="\Search"
-skip:Directory="Search"
-skip:Directory="\Search"
Run Code Online (Sandbox Code Playgroud)

没有骰子.它仍在跳过任何名为"研究"的东西.

我试着查找msdeploy语法,找不到任何可以帮助我的东西.

花生画廊的任何想法?

谢谢!

skip msdeploy

6
推荐指数
1
解决办法
1432
查看次数

如何在本地或远程部署msbuild zip包而不需要IIS参与

我正在创建一个允许应用程序部署自动化的应用程序,(https://github.com/twistedtwig/AutomdatedDeployments#readme).

这个想法是所有东西都在源代码控制,应用程序文件,应用程序配置以及IIS配置中.我的应用程序允许解决方案在构建到dev计算机之后自动部署(向sln/proj文件添加post build setp).它将允许CI服务器自动部署到其计算机以进行测试,以及CI服务器将成功构建推送到QA /测试/生产服务器.我对msdeploy的一个问题是需要先用网站/应用程序设置IIS(我的应用程序试图绕过它).

到目前为止,我可以自动通过配置文件创建,更新和删除应用程序池,网站和应用程序.我可以很好地同步文件和文件夹.最后一步是在msbuild中使用/ target:package开关为Web部署创建干净的文件结构.例如,我会运行如下命令:

msbuild.exe myMvcSite.csproj /target:clean /target:package /p:Configuration=Release /p:_PackageTempDir=C:\websites\mySite  /p:PackageLocation=C:\dropLocation\mySite.zip
Run Code Online (Sandbox Code Playgroud)

这将创建一个漂亮的zip文件,其内部文件路径为"C_C\wbesites\mySite"(我理解)可以同步到生产服务器.

我的问题是我如何部署这个zip文件.我希望它独立于任何IIS信息,即我只是将文件/文件夹推送到某个位置(在本地计算机上用于开发人员,或远程用于测试等).具有应用程序池和站点等的IIS的设置将单独处理.我尝试过的一些命令(及其输出)如下:

"C:\Program Files\IIS\Microsoft Web Deploy v2\msdeploy.exe" -verb:sync -source:package="C:\Temp\deploy\installer\test\testPackage.zip" -dest:auto
Info: Adding sitemanifest (sitemanifest).
Error: The application pool that you are trying to use has the 'managedRuntimeVersion' property set to 'v2.0'. This application requires 'v4.0'.
Error count: 1.
Run Code Online (Sandbox Code Playgroud)

"C:\Program Files\IIS\Microsoft Web Deploy v2\msdeploy.exe" -verb:sync -source:package="C:\website\installer\testPackage.zip" -dest:contentpath=C:\temp\mytest
Error: Source (sitemanifest) and destination (contentPath) are not compatible for the given operation.
Error count: 1.
Run Code Online (Sandbox Code Playgroud)

第一个命令我试图让它用它具有的结构解压缩文件.虽然看起来对应用程序池的东西感到不安,(我不想让它接触).

第二个我试图绕过"自动"位,但这也不开心.

我很难找到关于这个过程的很多信息. …

msbuild web-deployment msdeploy continuous-deployment msbuild-4.0

6
推荐指数
1
解决办法
4606
查看次数

如何使用MSDeploy配置应用程序池

我目前正在使用MSBuild通过传入参数来创建MSDeploy包:

/p:DeployOnBuild=true;DeployTarget=Package
Run Code Online (Sandbox Code Playgroud)

我正在使用一个parameters.xml文件(放在我网站的根目录下). 我发现的另一个问题是尝试设置应用程序池.

我的parameters.xml文件:

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

但似乎msbuild生成的msdeploy包中的archive.xml文件没有带有applicationPool元素的部分

如何使用此部分生成archive.xml以便我可以设置应用程序池?

我想要设置的应用程序池已经存在,所以我不关心MSDeploy同步或在这里创建应用程序池.

编辑:我发现了这个问题如何通过VS&MSDeploy设置控制用于部署的AppPool,提示使用wpp.targets生成自定义提供程序.我正在探索如何使用此方法来修改archive.xml文件

msbuild msdeploy

6
推荐指数
1
解决办法
8484
查看次数

无法在Visual Studio 2012 Update 2中查看"打包/发布"Web项目属性中的所有设置

出于某种原因,我无法在VS 2012 Update 2中看到Package/Publish Web项目属性中的所有设置.AFAIK刚刚开始发生.有没有人碰过这个?

这是我目前看到的:

这是我应该看到的:

请注意,我看不到Web部署包设置.

有关如何解决此问题的任何想法?

publish msdeploy visual-studio-2012

6
推荐指数
1
解决办法
5405
查看次数

MSDeploy无法手动部署压缩包

之前我使用msbuild.exe构建和部署Web项目

现在我想在部署之前修改一些文件,所以我使用msbuild创建一个.zip包,然后解压缩它,修改一些文件然后再次压缩它并尝试使用msdeploy进行部署.

问题是,它部署了空文件夹.当我尝试部署未修改的.zip包时 - 它工作正常.

经过长时间的挖掘,我发现,msdeploy不支持使用内置的windows zip存档器之外的压缩包.

如何在C#/ F#中使用Windows zip归档文件压缩文件?我尝试使用System.IO.Compression.ZipFile.CreateFromDirectory方法,但msdeploy仍然部署空文件夹.

在尝试部署包时,这是我得到的警告:

Warning: Skipping source dirPath (C:\TeamCity\buildAgent\MyPath) because of rule SkipInvalidSource.
The Zip package 'C:\TeamCity\buildAgent\MyPath\MyPackage.zip' could not be loaded.
Run Code Online (Sandbox Code Playgroud)

当我禁用SkipInvalidSource规则时,我收到以下错误:

Error: (12/23/2014 6:56:44 PM) An error occurred when the request was processed on the remote computer.
Error: Object reference not set to an instance of an object.
   at Microsoft.Web.Deployment.DeploymentSyncEnumerable.<Create>d__0.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenNoOrder(DeploymentObject dest, DeploymentObject source)
   at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenNoOrder(DeploymentObject dest, DeploymentObject source)
   at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, …
Run Code Online (Sandbox Code Playgroud)

c# msbuild zip web-deployment msdeploy

6
推荐指数
2
解决办法
3275
查看次数