【问题标题】:How to publish binaries and copy to server in TFS 2017如何在 TFS 2017 中发布二进制文件并复制到服务器
【发布时间】:2018-01-18 10:41:48
【问题描述】:

我们之前使用的是 xaml 构建,现在我们迁移到了 TFS2017。我无法发布构建文件,我们如何复制它们。

我的构建运行文件它不发布文件。我只看到代码文件。

【问题讨论】:

  • 你的构建定义怎么样?
  • 它是一个 Webapi 解决方案文件,我们需要在其中构建和发布二进制文件,然后复制到托管它的网站文件夹。
  • Dot net 4.0 应用程序,只需简单的构建和发布,然后将文件复制到托管站点的位置

标签: tfs build msbuild build-definition


【解决方案1】:

您需要在构建定义中添加Copy Files 任务和Publish Build Artifacts 任务,以复制和发布文件:

【讨论】:

  • 是的,我已经完成了与下图相同的操作,但它没有生成但构建成功完成。
  • @SheikhJunaid 你是如何在任务Copy FilesPublish Build Artifacts 中指定参数的?请检查this website 以使用匹配模式指定适当的参数。
  • @SheikhJunaid 请注意像 Build.BinariesDirectory 这样的文件夹是保留路径,您可以使用它们来覆盖项目中指定的默认构建输出。默认情况下,构建的输出不会进入 Build.BinariesDirectory。
  • 我可以查看的默认路径是什么。另外,我需要进行哪些更改才能在特定文件中发布二进制文件。稍后我可以使用复制文件任务将它们复制到各自的位置
  • 如果你在本地运行你的项目,二进制文件在哪里?
【解决方案2】:

也许您可以为您的 Web 项目创建发布配置文件并在构建过程中使用它。我在网站项目中使用这种方式:

  1. 为要打包的项目创建发布配置文件:https://msdn.microsoft.com/en-us/library/dd465323(v=vs.110).aspx
  2. 为构建步骤添加发布参数。就我而言:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\Test" /p:PublishProfile="shdemowebtest -网络部署”

  1. 然后复制drop神器

在您的情况下,您可以创建配置文件以在文件系统上发布。然后添加构建参数以发布和重定向目标文件夹:MsBuild publish website without using publish profile

发布到本地文件夹的步骤(在 VSTS 和本地构建代理上):

  1. 将新配置文件添加到您的项目(目标 bin\release\PublishOutput):

  1. 我使用第一个构建步骤来构建带有测试的附加项目。

  1. 添加步骤以使用默认文件夹路径发布。 MS 构建参数:

/p:DeployOnBuild=true /p:PublishProfile="FolderProfile"

3.1。然后我使用标准步骤将结果复制到暂存目录:

3.2.并发布到丢弃工件:

3.3.然后,您可以使用该工件通过发布管理进行部署:

  1. 添加步骤以发布到自定义路径: MS 构建参数:

    /p:DeployOnBuild=true /p:PublishProfile="FolderProfile" /p:publishUrl="C:\temp\Output"

4.1。这一步的结果:

【讨论】:

  • 这适用于使用 xaml 的 VS2013。我需要 vs2017,其中构建没有 xaml,当我尝试将命令行中的这些步骤作为 ms 构建参数时它失败了。您能否添加我需要编写的屏幕截图以发布二进制文件。
  • 谢谢。这很有帮助...我添加了相同的步骤。构建完成后,我现在收到此消息 C:\agent_work\8\a' 为空。不会添加任何内容来构建工件“drop”。文件夹是空的。是构建服务器上的这个文件夹。还有为什么您在文件复制后再次构建解决方案。我是否也需要添加它。我有工件类型,而不是图像中的工件发布位置,它有两个选项 ServerFile Share @Shamray Aleksander
  • “还有为什么您在文件复制后再次构建解决方案”。不,这只是示例
  • “我有工件类型,它有两个选项服务器和文件共享”。我在 Visual Studio Team Services 上构建。对于 TFS,我还有 ServerFile Share
猜你喜欢
  • 1970-01-01
  • 2018-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-10
  • 2016-05-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多