[英]How build artifacts are managed in Azure DevOps pipeline?
我正在为我的 web 应用程序设置一个新的 Azure DevOps 管道。 我可以看到构建工件保存在名为$Build.ArtifactStagingDirectory
的路径中。 这个路径变量指向哪里以及我可以访问我的工件多长时间?
此外,Azure DevOps 版本(跟踪一段时间内构建的所有工件)是否构建了工件? 如果不是,如何对我的构建工件进行版本控制?
在代理中有 3 个文件夹: a
、 b
和s
。 变量$(Build.ArtifactStagingDirectory)
指向文件夹a
( a rtifacts ),所以路径是c:\\agent\\_work\\1\\a
(如果代理位置是c:\\agent
, 1
也可以是另一个数字,根据有多少构建,这个数字是递增的)。
文物没有保存在那里! 当你构建代码的所有代码和器物上文件夹中存在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.