【问题标题】:How to copy nupkg from build process to drop folder如何将 nupkg 从构建过程复制到放置文件夹
【发布时间】:2018-08-23 08:29:36
【问题描述】:

TL/DR:在发布步骤中,我如何找到肯定在构建过程中创建的.nupkg 文件并将其复制到放置文件夹以用于发布任务?

使用 TFS 2018,我正在尝试将在之前的构建任务中创建的 .nupkg 文件复制到放置文件夹。

...在构建过程中...

从日志中,我知道文件已创建。

成功创建包 'C:\agent_work\9\a\StaticHelpers.1.0.0.nupkg'。

我想弄清楚的是如何找到这个文件并将其复制到放置文件夹。使用Build Variables 获得灵感,我尝试了以下方法。起初,我以为是成功的,因为日志说的。

  • 源文件夹:$(Agent.BuildDirectory)
  • 内容:*\*.nupkg
  • 目标文件夹:drop

  • 结果:

找到 1 个文件正在复制 C:\agent_work\9\a\StaticHelpers.1.0.0.nupkg 到 删除\a\StaticHelpers.1.0.0.nupkg

这意味着我可以创建一个发布流程,获取该文件并在复制发布步骤中复制它,对吗?

...发布过程中...

不对。当我创建复制文件发布任务并尝试选择肯定在构建中创建的 nuget 包时,放置文件夹中没有任何内容。我需要做的是获取在构建过程中创建的*.nupkg 文件并将其复制到网络共享。

所以我尝试根据从构建日志中复制的内容对文件夹进行硬编码。

  • 源文件夹:drop\a

发布失败,在日志中显示:

[错误]未处理:未找到 SourceFolder:C:\agent_work\r4\a\drop

要么我将文件复制到错误的位置,要么我从错误的位置读取。我需要使用哪些文件夹才能在发布任务中看到*.nupkg 文件?

【问题讨论】:

  • 等等,您是在构建中使用 Publish Artifact 任务,还是在使用 Copy File 任务?如果您想让工件可用于下游流程,您应该发布工件。
  • 我在 Build 过程中制作了 nuget 包,然后是 Copy File 任务。在 Release 过程中,我需要将 nupkg 文件复制到网络共享。我将在我的问题中加入一些粗体部分以更好地描述内容。

标签: tfs nuget tfsbuild


【解决方案1】:

在您的构建过程中,不要使用 Copy Files 任务,而是使用 Publish Artifacts 任务。这将发布一个“附加”到构建的工件,发布将在部署期间自动获取。

【讨论】:

    猜你喜欢
    • 2014-02-02
    • 2014-09-23
    • 2014-02-22
    • 1970-01-01
    • 2020-12-17
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多