【问题标题】:How do I invoke a publish profile in an automated TFS2017 build?如何在自动 TFS2017 构建中调用发布配置文件?
【发布时间】:2017-09-28 15:13:04
【问题描述】:

我已成功升级到 VS/TFS 2017,现在我希望构建使用项目的发布配置文件之一自动将网站发布到暂存位置。 TFS 团队项目站点的“构建和发布”部分的灵活性给我留下了深刻的印象,但它有点让人不知所措。

这个项目有 2 个简单的发布配置文件。两者都使用“FTP 发布方法”上传到 Go Daddy 托管服务提供商;一个在上传前删除所有文件,另一个只更新文件。有一些转换适用于连接字符串之类的东西。这些发布配置文件正常工作。我只需要在自动构建结束时添加它们。

说“使用此发布配置文件”似乎应该很简单,但选项和选择太多,使用哪个并不直观,而且我无法在网络上找到参考专注于我想做的事情。

【问题讨论】:

  • 您想如何调用发布配置文件?您的意思是要使用发布配置文件调用 msbuild 命令以发布到 FTP 站点?如果是,那是不可能的,因为命令行不支持 FTP 发布。
  • 为了回答您的问题,我不喜欢以任何特定方式调用发布配置文件,我只是想以某种方式调用它 - 自动。似乎发布配置文件机制已经设置为完全满足需要 - 只需右键单击,发布并开始。正如您将在下面的评论中看到的那样,我的错误印象是,较新的 2017 应用程序添加了一种机制来简单地使用那些已经设置的配置文件,从而使用已经工作的配置文件。我将在下面使用您的答案并回到这个问题。
  • @Alan 右键单击​​并开始您的意思是使用 Visual Studio 发布基于该配置文件的应用程序不是吗?您只想使用特定方法发布页面吗?
  • @Zinov 抱歉延迟回复 - 正在度假。为了回答您的查询,我真的想在构建服务器上调用网站的构建,并让该构建最终自动发布到登台主机服务器。正如我在下面评论的那样,很明显我只需要深入研究 msBuild,这样我就可以添加适当的命令来实现我想要的结果,而不是你可能对我有额外的建议。
  • @Alan,为此,您当然需要具备 MSBuild 的基础知识,但它仅用于编译目的。在部署的时候,我认为你应该使用 tfs 的任务来完成你想要的发布

标签: tfs visual-studio-2017 tfsbuild


【解决方案1】:

如果您想使用发布配置文件调用 msbuild 命令将网站发布到 FTP 位置,那么这是不可能的,因为命令行不支持 FTP 发布。

如果您坚持调用发布配置文件,那么您可以使用用于将网站发布到暂存位置(例如本地或 UNC 路径)的发布配置文件调用 msbuild 命令行,然后使用 FTP 上传 将网站从暂存位置上传到特定 FTP 位置的任务步骤,或使用 PowerShell 脚本上传网站。

你可以参考这个帖子: How can I add FTP website deployment to a VS2015/TFS2013 build process

【讨论】:

  • 哇,您引用的帖子是与其他人一起说服我将系统从 VS2015/TFS2013 升级到 2017 的帖子。看起来我想做的事情太脆弱了旧组合和 2017 年系统更强大,更适合设置此流程。我一定误解了你和其他人。我将重新访问该帖子以设置我想做的事情。等我稍微研究一下,我会回到这篇文章。
  • 我把它设置为答案,因为我现在明白你在说什么(&之前)。我确信我的部分问题是 MSBuild 知识不足,所以我会得到一本书。但除了创建 MSBuild,我还需要在构建服务器上进行设置。您能否指出一个 URL 或其他资源,显示如何在 TFS2017 构建服务器上集成 MSBuild?我的构建目前是成功的,没有任何其他操作;我只是不太明白我如何整合您在上面概述的操作(根据您的回答,我不会使用发布配置文件)
  • 我想我会跟进报告成功 - 终于!我使用了上面引用的其他 SO 帖子中的链接到 David Kittle site。他的代码似乎是当今最有效的。它非常适合构建定义中的 Power Shell 任务。我将再发几篇文章寻求帮助改进 CI 自动化,但您的指导有助于我达到这一点。谢谢!
猜你喜欢
  • 2012-11-07
  • 1970-01-01
  • 2015-09-18
  • 2013-07-06
  • 1970-01-01
  • 2012-02-19
  • 2014-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多