【发布时间】:2011-08-04 13:07:11
【问题描述】:
我在使用 MSBuild 和 MSDeploy 设置不同的环境时遇到问题。
我在 TeamCity 上设置了 2 个配置
- TestConfiguration(这会在 Test Config 中构建应用并运行单元测试)
- StagingConfiguration(用于打包并部署到我们的 staging box 以进行 UA 测试)
我的 TestConfiguration 工作正常,但 StagingConfiguration 没有部署包。
<MSBuild Projects="MyProject\MyProject.csproj"
Properties="Configuration=Staging;
DeployOnBuild=true;
DeployTarget=Package;"/>
我都试过了
_PackageTempDir=\\server\c$\WebDirectory;
PackageLocation=\\server\c$\WebDirectory;
但似乎都没有做任何事情,我错过了重点吗?我真的找不到任何文档,只是到处都是奇怪的博客文章。我是否需要在我的 TeamCity 服务器上安装一些东西才能让 MSDeploy 工作?
我的理想情况是:
- 签入到 tfs
- 在 TeamCity 中手动运行 StagingConfiguartion
- 代码已构建并部署到 \server\c$\WebDirectory
【问题讨论】:
-
你得到什么错误信息?
-
您是否检查过运行构建代理的用户帐户对提到的 UNC 路径具有写入权限?
-
您应该考虑在 CI 构建期间构建 msdeploy 包,并让您的“部署构建”使用 msdeploy 来删除现有(构建工件)构建包。在您的方法中,您在每次部署时都从源代码进行重建。
-
查看Troy Hunt's 5-part post,这是一种非常好的方法,因为它引导您使用 TeamCity 从构建到部署,并创建工件(构建的代码)。他的帖子虽然使用了 Subversion,但您可以轻松地将其替换为 TFS。
标签: .net msbuild teamcity msdeploy