【问题标题】:Under what cases does a VSTS build produce an empty dropVSTS 构建在什么情况下会产生空滴
【发布时间】:2019-03-26 14:18:47
【问题描述】:

我有一个使用 VSTS 手动构建的 .Net (VS 2015) 应用程序。构建已成功完成,但未生成任何工件。本手动构建中使用的代理/任务是 NuGet 工具安装程序、NuGet 恢复、Visual Studio 构建、发布构建工件。

Visual Studio 构建参数:

发布构建工件参数:

添加的变量:

最终结果:

应该按照我的预期产生一个类似的结构:

【问题讨论】:

  • 如果您能向我们展示或告诉我们有关构建定义的信息,将会有所帮助。文物应该是什么?你是如何生成它们的,你是如何发布它们的?
  • @RuiJarimba 问题已更新。
  • 您使用的是哪个构建代理?托管?托管VS2017?
  • 另外,您是否在调试模式下运行构建?将 system.debug 变量设置为 true 并将新构建排队。检查日志中的警告,特别是在Build solution 任务中。
  • 也可以试试/p:PackageLocation="$(build.artifactstagingdirectory)\\package.zip" 而不是/p:PackageLocation="$(build.artifactstagingdirectory)\\"

标签: c# .net build azure-devops azure-pipelines


【解决方案1】:

在“发布工件”任务之前,您需要将您希望它们在工件中的文件复制到代理中的文件夹 a

例如:

现在您的工件文件夹(代理上的a)将是您的发布输出,并且在发布任务中它将作为工件发布。

【讨论】:

  • 这纯属推测 - 在不了解构建的更多细节、工件是什么以及它们是如何生成的情况下,不可能知道为什么目录是空的
  • 提问者写了步骤:“我用过NUGET包管理器,VISUAL STUDIO build, publish artifact”,所以很简单,artifacts会为空,他必须将artifacts复制到@987654325 @ 文件夹在他发布之前。我不知道他想要哪些文件用于工件,我举了一个例子,但我解释了他需要做的过程。
  • 问题已更新。
  • @ShaykiAbramczyk 这个应用程序基本上会生成一个 exe。所以我仍在研究工件中究竟应该构成什么。我还尝试了复制文件任务,我确实得到了一个放置文件夹,但似乎整个源代码都被复制到了放置文件夹中。所以在我的情况下,我是否应该将删除限制为一个 exe.. 我完全不确定。
  • @Salman 我现在在您的更新中看到您有一个参数 PacakgeLoaction 并且您输入了 artifacts 文件夹的变量,因此您不需要复制文件任务,在您的 a文件夹应该是您网站的zip 文件。你能分享构建任务的日志吗?
猜你喜欢
  • 2017-03-25
  • 2011-10-16
  • 2016-05-19
  • 2020-12-04
  • 2018-12-07
  • 1970-01-01
  • 2011-07-23
相关资源
最近更新 更多