【问题标题】:Using TFS Build to Deploy Console Application with Continuous Integration使用 TFS 构建通过持续集成部署控制台应用程序
【发布时间】:2014-01-24 21:26:41
【问题描述】:

我有一个包含多个项目的解决方案。一些 MVC Web 应用程序、一些类库和一些控制台应用程序。

对于 Web 应用程序,我们仅使用发布配置文件并创建 TFS 构建,并引用这些配置文件来构建部署包。然后我们使用它们来部署网络应用程序。

如何配置构建定义以便为我的控制台应用程序提供相同的结果?

这里的期望结果是尝试使用 TFS 和发布管理实现自动部署。

更新:

好吧,看来我需要更好地解释一下自己了。

我们使用 TFS (MSBuild) 来构建项目。通过简单地“签入”代码,它会触发我们构建项目并在放置文件夹中创建一个不错的 Website_Package.zip 文件的构建。

我正在寻找的是让 MSBuild 为我的控制台应用程序做同样的事情。 IE。我希望它生成一个“ConsoleApp_Package.zip”文件并将其转储到我的放置文件夹中。

【问题讨论】:

  • 没有适用于 (Windows) 控制台应用的“标准”部署包。您可以压缩它们或构建 MSI。说明你在寻找什么。
  • 我加了一点解释,希望能澄清事情
  • 我会创建一个 NuGet 包,而不仅仅是一个 zip。然后你就可以使用 Chocolately 来部署它了!
  • 我很想知道您在哪里看到发布配置文件的“结果”(也就是部署步骤的构建结果)。

标签: deployment msbuild console-application release-management


【解决方案1】:

您可以在http://msbuildextensionpack.codeplex.com/ 使用 MSBuild 扩展包中的 Zip 任务。 示例见http://www.msbuildextensionpack.com/help/4.0.8.0/index.html

【讨论】:

  • 这看起来很有希望,我会进一步研究它并恢复。在他们的 wiki 上搜索“zip”并没有太大帮助,但我在描述中看到它是可用的。
  • 最后我真的找不到任何有用的文档。链接指向扩展,但在搜索时,我在 zip 包上没有得到任何结果,除了一个更改日志说它在那里。
【解决方案2】:

您应该使用 MSBuild 任务进行构建,使用控制台应用程序 .csproj 填充项目并将 MSBuild Arguments 留空。 然后,您使用 Copy Files 任务将文件从 bin 文件夹获取到暂存目录。

例子:

源文件夹:\bin\$(BuildConfiguration)

内容:**

目标文件夹:$(Build.ArtifactStagingDirectory)

之后,您可以添加任务以从暂存目录中压缩文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-18
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    • 2020-03-20
    • 2016-09-20
    相关资源
    最近更新 更多