繁体   English   中英

如何在 Azure DevOps 管道中管理构建工件?

[英]How build artifacts are managed in Azure DevOps pipeline?

我正在为我的 web 应用程序设置一个新的 Azure DevOps 管道。 我可以看到构建工件保存在名为$Build.ArtifactStagingDirectory的路径中。 这个路径变量指向哪里以及我可以访问我的工件多长时间?

此外,Azure DevOps 版本(跟踪一段时间内构建的所有工件)是否构建了工件? 如果不是,如何对我的构建工件进行版本控制?

在代理中有 3 个文件夹: abs 变量$(Build.ArtifactStagingDirectory)指向文件夹aa rtifacts ),所以路径是c:\\agent\\_work\\1\\a (如果代理位置是c:\\agent1也可以是另一个数字,根据有多少构建,这个数字是递增的)。

文物没有保存在那里! 当你构建代码的所有代码和器物上文件夹中存在s (S OURCES),最好的做法是只复制文物到文件夹a ,然后使用任务“发布打造神器”,在这个任务中,你拿神器从文件夹a将它们放在 Azure DevOps 存储或文件共享中(如果使用自托管代理)。

从 Azure DevOps 存储/文件共享中,根据您的保留策略存在工件。

如果将工件保存在 Azure DevOps 中,则可以从构建摘要页面访问您的工件或创建发布管道。 如果您将它们保存在文件共享中,您可以在那里或在发布管道中访问它们。

您需要使用任务发布工件,因为默认情况下它们不会发布。 如果您使用的是 yaml,只需添加

# Publish Build Artifacts
# Publish build artifacts to Azure Pipelines/TFS or a file share
- task: PublishBuildArtifacts@1
  inputs:
    #pathtoPublish: '$(Build.ArtifactStagingDirectory)' 
    #artifactName: 'drop' 
    #publishLocation: 'Container' # Options: container, filePath
    #targetPath: # Required when publishLocation == FilePath
    #parallel: false # Optional
    #parallelCount: # Optional

有配置保留这些工件的时间,因为我记得默认情况下是 30 天和 3 或 5 个最后构建

你可以控制你要多少天删除它(参见之前保持每个版本(默认为30天) 构建和发布保留策略)。 删除构建时,发布的工件也会被删除。

要版本化您的构建工件,您可以使用将跟踪的构建号。

$Build.ArtifactStagingDirectory指向的位置取决于您选择的发布位置 查看Azure Pipelines 中的工件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM