VSTS/Azure DevOps Server 2019中的构建保留策略是如何工作的

75次阅读
没有评论

问题描述

想要了解VSTS/Azure DevOps Server 2019中的构建保留策略是如何工作的。
1. 用户有一个共享位置,所有构建的输出都会被复制到这个位置。构建保留策略会根据指定的策略删除这些输出/构建产物,这一点用户已经了解。
2. 用户想知道构建保留策略是否会删除共享文件夹中的所有内容(包括所有文件夹层级),还是只会删除单个文件夹层级中的内容。
3. 用户还想了解”Copy Files”和”Publish Build Artifacts”任务之间的区别,以及在哪种情况下应该使用哪个任务。这些任务是否会影响构建保留策略中的删除操作。用户还想知道在主发布变量文件夹之后可以定义多少层级的文件夹。
4. 用户的目标是,他们有一个中央位置,不同的团队在这里共享或发布他们的构建产物。但在某些文件夹中,构建保留策略无法正常工作。用户注意到他们的开发人员在构建定义中使用了很多”Copy Files”任务,这些任务的路径很长。用户希望了解更多相关信息,以改进构建定义的最佳方式。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

构建保留策略工作原理

在VSTS/Azure DevOps Server 2019中,构建保留策略用于控制构建产物的保留时间。当构建保留策略启用时,系统会根据指定的策略自动删除过期的构建产物,以释放存储空间。

构建保留策略删除的内容

根据您的描述,构建保留策略会删除共享文件夹中的所有内容,包括所有文件夹层级。这意味着,如果您的构建产物存储在路径SharedLocationMachineName\TFSBuilds\ProjectName\$(Build.BuildNumber)\Deployment\binaries\installer\setup下,那么构建保留策略会删除该路径下的所有内容。

“Copy Files”和”Publish Build Artifacts”任务的区别

“Copy Files”任务和”Publish Build Artifacts”任务都用于将构建产物复制到指定的位置,但它们之间有一些区别。

“Copy Files”任务

“Copy Files”任务用于将构建产物复制到指定的目标文件夹。您可以指定源文件夹和目标文件夹,并选择要复制的文件或文件夹。这个任务通常用于将构建产物复制到特定的位置,以供后续的部署或其他操作使用。

“Publish Build Artifacts”任务

“Publish Build Artifacts”任务用于将构建产物发布到Azure Pipelines中的Artifact。这个任务会将构建产物打包成一个或多个zip文件,并将其上传到Azure Pipelines中的Artifact存储库。这样,其他团队成员或流水线可以方便地访问和使用这些构建产物。

构建保留策略和任务之间的关系

构建保留策略和任务之间没有直接的关系。构建保留策略只负责删除过期的构建产物,而不管这些构建产物是通过哪个任务生成的。因此,无论您使用”Copy Files”任务还是”Publish Build Artifacts”任务,构建保留策略都会根据指定的策略删除过期的构建产物。

最佳实践

以下是一些使用”Copy Files”和”Publish Build Artifacts”任务的最佳实践:
1. 对于需要将构建产物复制到特定位置的情况,可以使用”Copy Files”任务。确保指定正确的源文件夹和目标文件夹,并选择要复制的文件或文件夹。
2. 对于需要将构建产物发布到Azure Pipelines中的Artifact的情况,可以使用”Publish Build Artifacts”任务。这样,其他团队成员或流水线可以方便地访问和使用这些构建产物。
3. 在定义文件夹层级时,建议保持层级结构的简洁和清晰。避免过多的层级,以免增加路径长度和操作复杂性。

希望以上解决方案能帮助您改进构建定义并解决构建保留策略中的问题。如果您有任何进一步的问题,请随时提问。

正文完