我正在为我的Web应用程序设置一个新的Azure DevOps管道。我可以看到构建工件保存在名为$Build.ArtifactStagingDirectory
的路径中。该路径变量指向何处以及我可以访问工件多长时间?
此外,Azure DevOps是否构建了版本(跟踪一段时间内构建的所有工件)?如果没有,如何对我的构建工件进行版本控制?
答案 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个文件夹:a
,b
和s
。变量$(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