【发布时间】:2022-01-02 05:27:03
【问题描述】:
当您在发布定义中使用发布工件时,谁能告诉我它来自哪里?
我目前正在使用本地 TFS(v15 更新 1)来处理构建和发布。我相信这个版本非常接近当前 Azure DevOps 文档所描述的“经典”。
我有一个构建定义,它使用 Build.ArtifactStagingDirectory 将工件输出到代理上的默认本地路径 (c:\agent_work\1\a)。我还将工件发布/复制到网络共享。
我有一个发布定义,它将构建定义作为链接的工件源引用。因此,当我创建一个新版本时,版本定义从哪里获得工件?它是从我发布的网络共享中获得的吗?它是从源代码管理中获得的吗?我怎么知道它是从 TFS 或网络共享中获取的?
我知道 Build.ArtifactStagingDirectory 在每次构建时都会被删除,所以我知道它不可能来自那个位置。
【问题讨论】:
-
你试过
$(System.DefaultWorkingDirectory)吗? -
虽然我回答了你的具体问题,但我很想知道为什么这与你相关——这些工件的存储机制是有意设计为对用户透明的。
-
@DanielMann 感谢您提供的信息。问的原因是我正在与一个使用 Release 分支作为 Dev 分支的客户合作。他们无法改变这一点,所以我想知道版本从哪里得到它的工件。如果它从 TFS 获取它们可能会导致问题,因为它们会不断检查更改。根据您的信息,我今天早上进行了一项测试,将一个简单的文本文件放在 Build.ArtifactStagingDirectory 和我的网络共享中。该版本从网络共享中获取了确认您的答案的工件。非常感谢您的帮助。
标签: azure-devops tfs azure-pipelines tfsbuild