对于DevOps管道中的每个构建,ArtifactStagingDirectory始终为空

问题描述 投票:0回答:1

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

  • 构建解决方案/项目
  • 将dll输出复制到$Build.ArtifactStagingDirectory
  • $Build.ArtifactStagingDirectory发布神器

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

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

谢谢。

build azure-devops pipeline
1个回答
2
投票

我认为这个变量$Build.ArtifactStagingDirectory的主要想法是一个干净的区域,这样你就可以管理你从你的回购中推出的代码。据我所知,没有关于文档的明确信息说这个文件夹在每个新版本中都是空的,但是有一些“线索”:

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

我希望有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.