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

时间:2019-05-06 06:56:35

标签: azure azure-devops azure-pipelines-build-task

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

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

3 个答案:

答案 0 :(得分:0)

您需要发布artifacts using task,因为默认情况下它们不会发布。如果您使用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

有一个配置,我记得those artifacts as可以保留多长时间,默认情况下是30天,最后构建3或5个

答案 1 :(得分:0)

在代理中,有3个文件夹:abs。变量$(Build.ArtifactStagingDirectory)指向文件夹a a rtifacts),因此路径为c:\agnet\_work\1\a(如果座席位置为c:\agent,则{根据构建的数量,{1}}也可以是另一个数字。

没有保存在那里的文物!生成代码时,所有代码和工件都位于文件夹1 s ources)中,最佳实践是仅将工件复制到文件夹s中,然后使用任务“发布构建工件”,在此任务中,您从文件夹a中获取工件,并将其放在Azure DevOps存储或文件共享中(如果使用自托管代理)。

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

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

答案 2 :(得分:0)

您可以控制要保留的每个版本多少天(默认为30天),然后再将其删除(请参见 Build and release retention policies)。删除构建时,发布的工件也将被删除。

要对构建工件进行版本控制,您可以使用可以跟踪的内部版本号。

$Build.ArtifactStagingDirectory指向的位置取决于您选择的发布位置。参见Artifacts in Azure Pipelines

相关问题