CodePipeline - 为什么在用作源时必须在 S3 存储桶上启用版本控制?
CodePipeline - Why it is mandatory to enable versioning on S3 bucket when used as source?
我在代码管道中使用 S3 存储桶作为源代码提供程序。如果未在 S3 存储桶上启用版本控制,则会引发错误。我的问题是为什么必须在源存储桶上启用版本控制?
当 S3 为源时,Artifact 始终是相同的对象键,对象的新版本(相同键)是导致管道触发的原因。
CodePipeline 使用 etag 来管理了解到目前为止管道执行的流程,请记住 CodePipeline 可以同时执行多个,因此它需要有一种方法来识别工件的哪个版本与哪个执行相关。
如果您使用 CodeCommit 或 GitHub 等 VCS(版本控制系统)与 CodePipeline,它将使用提交 ID 来识别它。
我在代码管道中使用 S3 存储桶作为源代码提供程序。如果未在 S3 存储桶上启用版本控制,则会引发错误。我的问题是为什么必须在源存储桶上启用版本控制?
当 S3 为源时,Artifact 始终是相同的对象键,对象的新版本(相同键)是导致管道触发的原因。
CodePipeline 使用 etag 来管理了解到目前为止管道执行的流程,请记住 CodePipeline 可以同时执行多个,因此它需要有一种方法来识别工件的哪个版本与哪个执行相关。
如果您使用 CodeCommit 或 GitHub 等 VCS(版本控制系统)与 CodePipeline,它将使用提交 ID 来识别它。