问题标签 [msdeploy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
msbuild - MSDeploy 不使用 MSBuild 和 Visual Studio 2010 部署到远程服务器
我目前正在运行 Visual Studio Team System 2010 RC,我正在尝试获取构建服务设置来构建我的解决方案并在其中部署 3 个 Web 应用程序。我创建了一个名为 Integration 的自定义构建配置,并在每个 Web 应用程序的属性的“打包/发布”选项卡上设置了“要在目标服务器上使用的 IIS 网站/应用程序名称”。
在我的构建定义中,我设置了以下参数:
/p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p:MSDeployPublishMethod=InProc /p:MsDeployServiceUrl= http://my-server-name:8172/msdeploy.axd /p:EnablePackageProcessLoggingAndAssert=True
但是,当我运行构建时,对于所有三个 Web 应用程序,我都会收到以下错误:
更新 setAcl (MyProjectName)。
C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3481,5):错误:Web 部署任务失败。(试图执行未经授权的操作。)
我不认为这是我的实际问题。此错误发生在日志中的以下条目之后:更新 setAcl 这是导致错误消息的原因,但似乎 MSDeploy 正在尝试部署到构建服务器上的本地 IIS,而不是我使用 MsDeployServiceUrl 参数指定的服务器。
查看 C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets 中的目标文件后,我添加了 EnablePackageProcessLoggingAndAssert,它添加了额外的日志记录。日志显示 MsDeployServiceUrl 的值的空字符串。我还在目标中注意到 MsDeployServiceUrl 有一个小写字母 s,这有点令人困惑,因为任务名称 MSDeployPublish 有一个大写字母 S。我尝试使用大写字母,然后再次使用小写字母,但都不起作用。
其他需要注意的事项:
- 我的构建服务作为网络服务运行。
- 我尝试部署到的服务器位于另一个域上。
- 我还尝试将 /p:username=mydomain\myusername /p:password=mypassword 添加到 MSBuild 参数列表,但这没有帮助。
有谁知道我是否提供了正确的参数?或者给我正确的?
谢谢
iis - MSDeploy 通过 FTP 发布
我想使用 MSDeploy,主要用于打包及其对同步的支持。当我合并到 git 中的主分支时,我正在使用 MSBuild 和 TeamCity 来自动发布。
不幸的是,目标似乎没有 IIS(也没有安装意愿)服务。所以,我最好的选择是 FTP。MSDeploy 是否支持 FTP 作为发布方法?还是我卡在使用 _CopyWebApplication 目标和 FtpUploadDirectoryContent MSBuild 社区任务?
谢谢布莱斯费舍尔
command-line - MSDeploy:使用 runCommand 提供程序调用远程 .cmd 文件时出错(超时)
尝试使用 MSDeploy“runCommand”提供程序在远程计算机上执行 .cmd 文件时遇到错误。预期的运行时间应该是 10 秒左右,但 MSDeploy 只运行了大约 2-3 秒,之后会返回错误详细信息。
这是我正在使用的完整的 MSDeploy“runCommand”命令行文本:
以下是返回的错误详细信息:
关于为什么会发生这种情况以及如何解决它的任何想法?
visual-studio-2010 - VS2010、MSDeploy及参数声明
我正在尝试使用 MsDeploy 部署 ASP.NET MVC 2 应用程序。我使用 VS2010 将包生成为 ZIP。在该 ZIP 中是一个parameters.xml
文件,它声明了我可以设置的参数。
我希望能够使用这样的自动生成deploy.cmd
文件设置更多参数:
这很好用,除了httpBinding param
. 这是因为该参数未在parameters.xml
添加到 ZIP 容器的文件中声明。
我可以手动添加该参数声明,但是没有办法从命令行执行它并让它声明我在另一个 XML 文件中的参数吗?
visual-studio-2010 - 如何使用 VS2010 Web 部署包包含附加文件?
我正在使用 Visual Studio 2010 中的新 Web 打包功能进行测试,遇到了一种情况,我使用预构建事件将所需的 .dll 复制到我的应用程序依赖于 API 调用的 bin 文件夹中。它们不能作为参考包含在内,因为它们不是可与互操作一起使用的 COM dll。
当我构建我的部署包时,当我选择仅包含运行应用程序所需的文件的选项时,这些文件将被排除。有没有办法配置部署设置以包含这些文件?我没有找到任何关于此的好的文档。
asp.net-mvc - 在 IIS7 上部署 MVC 应用程序的最佳实践
我不是网络管理员,而且我是 IIS 新手。所以,我正在寻求建议。
我的 MVC 应用程序(例如 fooapp)是我网站的默认应用程序(例如 foo.bar)。我使用 IIS 管理器将站点添加到 IIS7。当我导入应用程序时,IIS 管理器想把它放在它自己的目录 (/foo) 中,并告诉我不应该把它放在基本(站点)目录中。这意味着要进入我的默认 MVC 视图,我必须输入 URL http://foo.bar/fooapp/
。不用说,我想通过http://foo.bar/
我看到了两种可能的解决方案:
- 将默认页面添加到重定向到 MVC 应用程序的站点目录。
- 忽略 IIS 警告并将应用程序加载到站点目录中。
我的 IIS7 知识有限。我玩过一些选项(例如 HTTP 重定向)。由于没有任何改变,我显然不明白我在做什么。
无论如何,如果有一些被认为是“最佳实践”和/或其他建议,请告诉我。
powershell - Powershell 2.0 在使用 c/ 从 MsDeploy pre-post-ops 运行时挂起
我试图在 MSDeploy 命令的 preSync 调用期间调用 powershell,但 powershell 在调用后不会退出该进程。命令(来自命令行):“tools/MSDeploy/msdeploy.exe” -verb:sync -preSync:runCommand="powershell.exe -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command C:/MyInstallPath/deploy.ps1 Set -WebAppOffline Uninstall-Service ",waitInterval=60000 -usechecksum -source:dirPath="build/for-deployment" -dest:wmsvc=BLUEPRINT-X86,username=deployer,password=deployer,dirPath=C:/MyInstallPath
我在这里使用了一个hack(http://therightstuff.de/2010/02/06/How-We-Practice-Continuous-Integration-And-Deployment-With-MSDeploy.aspx),它获取了powershell进程并杀死了它,但是没用。我还尝试了 taskkill 和 sysinternals 等效项,但没有任何东西会终止该进程,以便 MSDeploy 出错。该命令已执行,但随后就坐在那里。任何想法可能导致powershell像这样挂起?我在网上发现了一些其他类似的问题,但没有答案。
环境是Win 2K3,使用Powershell 2.0。
更新:这是我现在用来调用我的 powershell 命令的 .vbs 脚本。使用 'cscript.exe path/to/script.vbs' 调用:
iis - 没有部署选项 IIS
我最近一直在看 MSDeploy,特别是这里的演示文稿。
http://www.hanselman.com/blog/WebDeploymentMadeAwesomeIfYoureUsingXCopyYoureDoingItWrong.aspx
到目前为止一切都很好,除了我试图在 IIS 中找到部署/导出应用程序并且它们似乎不存在。
我假设需要打开一些选项,这样我才能看到它们,但如果我知道什么,我该死的。
我已经安装了 web 部署工具
谢谢
deployment - Visual Studio 2010 发布 Web 功能不包括所有 DLL
我有一个 ASP.NET MVC 2 应用程序。
- Web 项目包含对 SomeProject 的引用
- SomeProject 包含对 ExternalAssembly1 和 ExternalAssembly2 的引用。
- SomeProject 显式调用 ExternalAssembly1,而不是 ExternalAssembly2。
- ExternalAssembly1 调用 ExternalAssembly2
当我执行本地构建时,一切都很酷。所有 DLL 都包含在 bin\debug 文件夹中。问题是当我在 Visual Studio 2010 中使用 Publish Web 命令时,它会部署除 ExternalAssembly2 之外的所有内容。
它似乎忽略了不直接使用的程序集(请记住,ExternalAssembly2 仅由 ExternalAssembly1 使用)。
有什么方法可以告诉 Visual Studio 2010 包含 ExternalAssembly2?
我可以编写一个调用 ExternalAssembly2 的虚拟方法。这确实有效,但我真的不想为了让 VS2010 发布 DLL 的唯一目的而使用虚拟代码。
msdeploy - 如何使用 msdeploy 并针对特定站点?
使用 msdeploy 和 msdeploy.axd 处理程序时,任何部署到我的远程服务器的尝试都会遇到 401 未授权错误,并且服务器会记录日志
IISWMSVC_AUTHORIZATION_SERVER_NOT_ALLOWED
仅允许 Windows 管理员使用服务器连接进行连接。其他用户应使用“连接到站点或应用程序”任务才能进行连接。
进程:WMSvc
将 axd 定位为站点级别的正确方法是什么?