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

时间:2019-04-11 15:02:52

标签: build azure-devops pipeline

我们在Azure DevOps中使用生成管道来创建部署工件。此类管道中的典型步骤是:

  • 构建解决方案/项目
  • 将dll输出复制到$Build.ArtifactStagingDirectory
  • 发布$Build.ArtifactStagingDirectory中的工件

我只是想知道我是否可以依靠这一事实,即在每个Build开始时Build.ArtifactStagingDirectory为空。还是应该先确定要清理文件夹?

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

谢谢。

1 个答案:

答案 0 :(得分:2)

我认为,此变量$Build.ArtifactStagingDirectory的主要思想是保持干净,以便您可以管理要从存储库中推送的代码。据我所知,在文档中没有明确的信息说每个新版本的文件夹都为空,但是有一些“线索”:

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

我希望有帮助。