1

我一直在安静地寻找解决这个问题 - 但找不到合适的解决方案。
我有一个 C# .NET 解决方案,其中包含大约 16 个项目,并希望通过 TeamBuild 和 MSBuild 每晚构建它。
其中两个项目是 Web 项目,应该在构建解决方案或项目后发布 - 但问题是:它应该在其正常输出路径中编译,并发布到本地文件系统上的特定文件夹。在 Visual Studio 中,这没问题 - 我单击本地文件系统上的发布,项目发布正常。

我已经找到了一些 MSbuild 选项,例如 DelpoyOnBuild 等,但所有示例仅适用于 IIS WebServer 上的发布 - 但在这种情况下我不想使用 IIS。是否可以在 Build 之后让 MSBuild 将 Web 项目发布/部署到指定的本地文件夹?

最好的问候塞巴斯蒂安

4

2 回答 2

0

是的,但您必须稍微调整一下您的流程模板。一个单独的进程可以使用放置文件夹中的文件来处理发布部分。然后,您可以使用任何您喜欢的工具InvokeProcess来处理活动,或者开发自己的自定义活动来处理它。

此过程是标准构建过程的一部分还是在单独的模板/构建定义中取决于您希望如何执行它。

我们使用Community TFS Build Extensions,并且通过这些额外的活动,我们可以使用这些额外的活动InvokeBuild来启动其他构建,例如在另一个构建结束时。通过传递当前构建 Uri 然后使用它们的GetBuildDetail,任何构建都可以知道它的前任并可以访问它的所有细节(例如DropFolder,例如)。

于 2012-05-27T08:16:45.093 回答
0

我现在使用构建后事件或调用 msbuild.exe 的简单命令文件来执行此操作。msbuild 是带参数的 startet,以便它部署 Web 服务。这是我的命令:

MSBuild.exe /target:Build;PipelinePreDeployCopyAllFilesToOneFolder /p:Configuration=Release;_PackageTempDir=%binfolder% "projectfile.csproj"
于 2012-06-21T08:37:21.543 回答