我正在尝试在干净的构建Windows Server 2008 R2计算机上执行Web部署脚本并收到以下错误:
Run Code Online (Sandbox Code Playgroud)ERROR: The system was unable to find the specified registry key or值.在此计算机上找不到msdeploy.exe.请在执行脚本之前安装Web Deploy.
该软件包是在VS2010中创建的,并且在我的开发盒上执行正常(一如既往!).如果我通过IIS在服务器上导入包,一切正常.
Web Deploy已通过Web部署工具2.1通过Web PI安装在服务器上,并且我已验证包含msdeploy.exe.我正在通过"IIS Extensions/Web Deploy命令行"开始菜单项运行脚本,所以我猜测应该设置正确的路径.我也以管理员的身份尝试了同样的错误.
任何帮助非常感谢.
我正在尝试使用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.与我之前的问题相关)
我正在尝试确保将我的应用程序部署到使用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和IIS管理员的新手.
为了显示"维护中的网站"页面,我们正在寻找两种选择.
1)有一个app_Offline.htm页面,并在维护开始时将其同步到服务器.
2)创建一个具有完全不同的站点的单独文件夹(它可以显示比app_offline页面更多的动态信息).在维护期间,建议我们在更新站点时更改站点的虚拟文件夹映射以指向此其他文件夹.
有没有办法使用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'.所有参数必须以" - "开头.
关于参数线的竹子明显地试图变得聪明.但是我需要它来保持双引号(")它们在哪里.
我已经尝试了我能想到的单引号和双引号的每一种组合,即在所有参数之前,只在具有空格的那些之前,或者仅在具有引号的那些之前.
有人知道怎么让这个工作吗?
我正在尝试为网站编写一个构建系统,以便我可以进行一次单击构建.我从源代码存储库中获取代码的干净副本,然后使用msbuild运行AspNetCompiler任务来执行网站的所有预编译.
令我困惑的是我需要指定VirtualPath或MetabasePath.我没有元数据库路径 - 我想将其编译成本地目录,然后可以将其部署到所选择的任何服务器(即dev服务器,然后是服务器,然后是服务器).
VirtualPath很棘手,因为我希望将相同的代码部署到多个位置 - 代码使用一些上下文和配置细节来计算其SiteID以显示不同的信息 - 因此指定单个虚拟路径似乎并不明智.
还有其他各种类似的问题(例如,AspNetCompiler中的VirtualPath MSBuild任务 - 它必须等于最终部署的虚拟路径吗?)但我发现的唯一答案似乎更轶事 - 即他们jsut说它似乎对他们的经历没有任何影响.
但是,我无法相信它确实没有任何区别.必须有一些使用它的情况,否则就不会存在而且不需要.
那么有谁知道(并且最好有参考)这是做什么的?将组成的虚拟路径传递给任务可能会导致什么问题?
要求:我需要在IIS下部署到特定站点(例如dev.sitename.org)的zip包.
早些时候,我们在默认网站(IIS下)有网站,我们使用下面的命令来部署它.
>>msdeploy -verb:sync -source:package="D:\package.zip" -dest:auto
我为-dest尝试了不同的提供者,但没有任何效果.
有没有人对此有所了解.如果有的话请分享.
我想从运行团队城市的构建服务器部署Windows服务到最少的服务器配置到Windows Server 2012.
这样做的最佳方法之一是什么?
msbuild teamcity windows-services msdeploy windows-server-2012
由于使用标志支持Web Deploy 3.5连接字符串的自动加密:–EnableRule:EncryptWebConfig.但是,运行它时:
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:package='C:\[...]\MyApp.WebDeployPackage.zip' -dest:auto,includeAcls="False" -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"C:\[...]\MyApp.SetParameters.xml" -EnableRule:EncryptWebConfig -verbose
Run Code Online (Sandbox Code Playgroud)
我明白了:
Error Code: ERROR_FAILED_TO_ENCRYPT_WEB_CONFIG
More Information: Failed to encrypt destination web.config: C:\[...]\Web.config.
Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FAILED_TO_ENCRYPT_WEB_CONFIG.
Error: The given key was not present in the dictionary.
Run Code Online (Sandbox Code Playgroud)
在详细了解链接到过时的文档点,我似乎无法在网上找到任何信息.
我怀疑该工具在幕后使用aspnet_regiis,但我不确定.是的,我正在使用完全管理员权限运行上述内容.
我正在尝试使用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文件夹",并生成一个更全面的包.