ArtifactStagingDirectory 是否在 DevOps 管道中的每个构建中始终为空

Is ArtifactStagingDirectory always empty with each build in DevOps pipeline

我们正在 Azure DevOps 中使用构建管道来创建部署工件。这种管道中的典型步骤是:

我只是想知道我是否可以依赖这个事实,即在每个构建开始时 Build.ArtifactStagingDirectory 是空的。还是我应该首先清理文件夹才能确定?

根据我的经验,该文件夹始终是空的,但我不确定我是否可以依赖它。这是 Azure 托管代理特有的东西吗?也许通过使用自定义构建代理,我必须手动清理此文件夹?也许上次构建的一些旧文件可以保留在那里?我没有在文档中找到此信息。

谢谢。

我认为这个变量 $Build.ArtifactStagingDirectory 的主要思想是成为一个干净的区域,这样您就可以管理从您的存储库推送的代码。据我所知,没有关于文档的明确信息说这个文件夹在每个新版本中都是空的,但是有一些 "clues":

  1. 您可以在 Microsoft's Build Variables documentation 看到 Build.StagingDirectory 总是在每次新构建之前被清除,因此您每次构建都有一个全新的开始。
  2. 在上面的文档中,您有几个案例明确指出某些文件夹或文件未在新版本中清理,例如 Build.BinariesDirectory 变量。
  3. 我已经 运行 一些构建和发布指向我在 Azure 上的 Web 应用程序,但我从未见过与我的构建管道无关的不需要的文件或文件夹。

希望对您有所帮助。