标签: msdeploy

TFS2010构建定义以部署到多个服务器?

我一直在研究TFS2010与MSDeploy的新构建和部署功能.到目前为止一切进展顺利(虽然很难找到有关特定场景的信息).

我可以修改构建定义以指定要部署的2个或更多服务器吗?我需要做的是部署到多个服务器(因为我在我的测试环境中有两个使用NLB).

我现在拥有的是构建定义,构建,运行我的测试,然后部署到我的一个测试服务器(其上运行了MsDeployAgentService).它工作正常,每个Web项目都按其项目文件中的配置进行部署.我使用的MSBuild参数是:

* /p:DeployOnBuild=True
* /p:DeployTarget=MsDeployPublish
* /p:MSDeployServiceURL=http://oawww.testserver1.com.au/MsDeployAgentService
* /p:CreatePackageOnPublish=True
* /p:MsDeployPublishMethod=RemoteAgent
* /p:AllowUntrustedCertificated=True
* /p:UserName=myusername
* /p:Password=mypassword 
Run Code Online (Sandbox Code Playgroud)

注意:我不使用/ p:DeployIISAppPath ="xyz",因为它没有部署我的所有项目并覆盖我的项目配置.

我可以添加另一个构建参数来让它调用多个MSDeployServiceURL吗?就像第二个/ p:MSDeployServiceURL参数,它指定另一个服务器?

或者我是否需要寻找其他解决方案,例如编辑WF?

我在2个月前看到了一个几乎完全相同的问题:TFS 2010 - 构建后部署到多个服务器,所以看起来我不是唯一一个试图解决这个问题的人.

我还发布了讨论MSDeploy的IIS.NET论坛:http://forums.iis.net/t/1170741.aspx .它有很多观点,但同样没有答案.

deployment msbuild msdeploy tfs2010 build-definition

9
推荐指数
2
解决办法
7193
查看次数

尝试使用Bamboo和MSDeploy

我在Bamboo中创建了一个指向MSDeploy可执行文件的构建器.我想在部署新网站之前备份当前的网站.

这是我运行的命令行:"C:\ Program Files\IIS\Microsoft Web Deploy\msdeploy.exe"-verb:sync -source:contentPath ="Default Web Site\MyService",computerName ="myserver" -dest:package ="MyService_backup_before_43.zip"-enableLink:AppPoolExtension

所以我设置了一个新的MSDeploy构建器指向"C:\ Program Files\IIS\Microsoft Web Deploy\msdeploy.exe"然后我选择我的构建器为MSDeploy.

参数是:-verb:sync -source:contentPath ="Default Web Site\MyService",computerName ="myserver"-dest:package ="MyService_backup_before_43.zip"-enableLink:AppPoolExtension

但是,MSDeploy一直在抱怨:无法识别的参数'" - source:contentPath ="Default'.所有参数必须以" - "开头.

关于参数线的竹子明显地试图变得聪明.但是我需要它来保持双引号(")它们在哪里.

我已经尝试了我能想到的单引号和双引号的每一种组合,即在所有参数之前,只在具有空格的那些之前,或者仅在具有引号的那些之前.

有人知道怎么让这个工作吗?

bamboo msdeploy

9
推荐指数
1
解决办法
1895
查看次数

无法安装msi包,要求.Net framework 4

我最近将系统升级到Windows 7 Enterprise.我已经为在VS2010中使用.Net framework 3.5构建的控制台应用程序创建了一个安装包.但是当我尝试在XP机器上安装msi时,它给了我这个警告,需要.Net Framework 4.

我尝试解决错误的步骤:

  1. 右键单击Project并在Application选项卡中将Target Framework设置为.Net Framework 3.5.
  2. 右键单击Project,选择Publish> Prerequisites> a)Selected .Net Framework 3.5 SP1和b)Windows Installer 3.1
  3. 右键单击Setup Project,Prerequisites> a)Selected .Net Framework 3.5 SP1和b)Windows Installer 3.1
  4. 重建安装项目以创建msi.

我在上面的所有步骤都是徒劳的,因为我在XP机器上安装msi时仍然会收到警告.

有没有人有更好的想法来解决这个问题?

.net c# msdeploy

9
推荐指数
1
解决办法
3616
查看次数

如何通过MsDeploy在发布时迁移Entity Framework DB

对于我当前的项目,我宁愿在发布时将我的数据库更新为正确的版本,而不是首先通过App_Start运行.

似乎通过与Entity Framework(5.0 rc2)一起提供的命令行工具'migrate.exe'支持手动升级.但我找不到任何有关其他人如何将此工具与msdeploy结合使用以在发布而不是首次运行时升级数据库的任何信息.

我找到了以下页面,其中介绍了如何使用migrate.exe工具:http: //blog.overridethis.com/blog/post/2012/03/13/Automating-EF-43x═-Migrations-in-your -Build.aspx

但这迫使我以某种方式'知道'连接字符串信息.

我的最佳解决方案是:

  1. connectionstring在setParameters.xml文件中配置,以便在发布时替换
  2. 在发布代码库后发布,使用正确的连接字符串调用migrate.exe

我搜索的似乎是'实体框架MSDeploy提供者'(参见:http://blogs.msdn.com/b/adonet/archive/2012/01/12/ef-4-3-beta-1- release.aspx)但似乎他们不久前放弃了这个选项

deployment entity-framework msdeploy ef-migrations

9
推荐指数
1
解决办法
1989
查看次数

为什么我需要AspNetCompiler任务的VirtualPath属性

我正在尝试为网站编写一个构建系统,以便我可以进行一次单击构建.我从源代码存储库中获取代码的干净副本,然后使用msbuild运行AspNetCompiler任务来执行网站的所有预编译.

令我困惑的是我需要指定VirtualPath或MetabasePath.我没有元数据库路径 - 我想将其编译成本地目录,然后可以将其部署到所选择的任何服务器(即dev服务器,然后是服务器,然后是服务器).

VirtualPath很棘手,因为我希望将相同的代码部署到多个位置 - 代码使用一些上下文和配置细节来计算其SiteID以显示不同的信息 - 因此指定单个虚拟路径似乎并不明智.

还有其他各种类似的问题(例如,AspNetCompiler中的VirtualPath MSBuild任务 - 它必须等于最终部署的虚拟路径吗?)但我发现的唯一答案似乎更轶事 - 即他们jsut说它似乎对他们的经历没有任何影响.

但是,我无法相信它确实没有任何区别.必须有一些使用它的情况,否则就不会存在而且不需要.

那么有谁知道(并且最好有参考)这是做什么的?将组成的虚拟路径传递给任务可能会导致什么问题?

.net aspnet-compiler msdeploy

9
推荐指数
1
解决办法
1792
查看次数

如何使用msdeploy将包(zip)部署到IIS下的特定站点

要求:我需要在IIS下部署到特定站点(例如dev.sitename.org)的zip包.

早些时候,我们在默认网站(IIS下)有网站,我们使用下面的命令来部署它. >>msdeploy -verb:sync -source:package="D:\package.zip" -dest:auto

我为-dest尝试了不同的提供者,但没有任何效果.

有没有人对此有所了解.如果有的话请分享.

msdeploy

9
推荐指数
1
解决办法
5908
查看次数

从团队城市部署Windows服务

我想从运行团队城市的构建服务器部署Windows服务到最少的服务器配置到Windows Server 2012.

这样做的最佳方法之一是什么?

msbuild teamcity windows-services msdeploy windows-server-2012

9
推荐指数
1
解决办法
5661
查看次数

MS部署任务失败DeploymentBaseOptions不包含UserAgent的定义

我无法使用MS Build参数运行Team Foundation 2013构建以进行部署,并且出现错误:

C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets(4255):Web部署任务失败.('Microsoft.Web.Deployment.DeploymentBaseOptions'不包含'UserAgent'的定义)

VS 2013正在开发中.

奇怪的是,如果我将MSBuild文件夹*..\v11.0\Web*复制 到*v12.0\Web* 构建工作并进行部署.

我已经检查了v12.0\Web\Microsoft.Web.Publishing.targets文件,并且在v11.0\Web\Microsoft.Web.Publishing.targets中有一个UserAgent条目没有条目

我可以在我的计算机上使用VS Publish正常发布,但在构建服务器上它失败有没有人设法使用MSBuild VS 2013目标成功构建和部署?

msbuild tfsbuild msdeploy visual-studio

9
推荐指数
1
解决办法
3696
查看次数

如何使用MSBuild为此项目文件夹中的所有文件创建MSdeploy包

我正在尝试使用msbuild通过命令行创建Web部署包.我一直在搜索,发现以下命令

 msbuild myproject.csproj /t:package
Run Code Online (Sandbox Code Playgroud)

虽然它对我有用,但它只给了我视觉工作室在我们通过Packge/Publish Web选项卡创建Web部署包时返回的内容,其中"从运行此应用程序只需要文件"选项从下拉菜单中选择.但我希望我的Web部署包看起来与我从下拉菜单中选择"此项目文件夹中的所有文件"选项时所获得的完全相同.我已经浏览了这样的链接http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx.

但我想知道我是否真的需要自定义我的.csproj文件(在该帖子中描述它的方式),因为我想要的只是一个命令行(显然比我上面提到的更复杂)对于msbuild可以模仿"此项目文件夹中的所有文件"选项,用我项目的原始bin文件夹中的所有.dll 填充"web部署包的bin文件夹",并生成一个更全面的包.

asp.net iis msbuild msdeploy

9
推荐指数
1
解决办法
5291
查看次数

MSDeploy不替换编码的xml字符串

在web.config我有:

<applicationSettings>
<App.Properties.Settings>
    <setting name="ProfitConnectorToken" serializeAs="String" xdt:Transform="Replace" xdt:Locator="Match(name)">
        <value>__ProfitConnectorToken__</value>
    </setting>
</App.Properties.Settings>
Run Code Online (Sandbox Code Playgroud)

在我的parameters.xml中:

<parameter name="ProfitConnectorToken" description="Description for ProfitConnectorToken" defaultvalue="__PROFITCONNECTORTOKEN__" tags="">
<parameterentry kind="XmlFile" scope="\\web.config$" match="/configuration/applicationSettings/App.Properties.Settings/setting[@name='ProfitConnectorToken']/value/text()" />
Run Code Online (Sandbox Code Playgroud)

在我的SetParameters.xml中:

<setParameter name="ProfitConnectorToken" value="&lt;token&gt;&lt;version&gt;1&lt;/version&gt;&lt;data&gt;XXXXXXXXXXXXXXXXXXXXXXXXX&lt;/data&gt;&lt;/token&gt;" />
Run Code Online (Sandbox Code Playgroud)

但是,部署Web应用程序时未设置此值.当我将SetParameters.xml更改为:

<setParameter name="ProfitConnectorToken" value="TEST" />
Run Code Online (Sandbox Code Playgroud)

它确实有效,所以我的XPath是正确的.为什么未设置编码的xml值?

asp.net asp.net-mvc web-config msdeploy webdeploy

9
推荐指数
0
解决办法
212
查看次数