gpt4 book ai didi

aws-codebuild - 当并发构建为 1 时,CodeBuild 项目不会排队

转载 作者:行者123 更新时间:2023-12-04 14:54:43 30 4
gpt4 key购买 nike

我们使用 AWS CodeBuild 和 GitHub webhooks 来触发构建过程。当为以 Jira 票证前缀开头的分支创建 PR 时,即 oscs-278 ,我们用 Terraform 构建了一个新环境。当我们提交 PR 时,它会触发构建过程以更新该环境。
此流程对我们很有效,尤其是自 2021 年 2 月起,AWS CodeBuild 允许您将并发build设置为 1。这对我们很重要,因为我们一次应该只部署一个,其余的应该排队。
但是,我们当前的构建过程最多需要 15 分钟,如果我们在此时间范围内提交到分支,如果另一个构建正在进行中,则该项目不会排队。
这可能是 GitHub webhooks 的问题,还是与 AWS CodeBuild 相关的问题。
来自 AWS 文档:

The maximum number of builds in a queue is five times the concurrent build limit.


所以理论上,队列中应该有 5 个(最多)

最佳答案

如果当前运行的构建数量达到您的限制(即 1),则 CodeBuild 不会将新构建排队。在这种情况下尝试启动更多构建将失败并显示错误。 AWS Docs说:

If the build project has a concurrent build limit set, builds return an error if the number of running builds reaches the concurrent build limit for the project. For more information, see Enable concurrent build limit.


这适用于 webhook 并尝试手动启动它们。相同的文档还说:

If the build project does not have a concurrent build limit set, builds are queued if the number of running builds reaches the concurrent build limit for the platform and compute type. The maximum number of builds in a queue is five times the concurrent build limit. For more information, see Quotas for AWS CodeBuild.


该部分提示如果您将项目并发限制重置为高数(例如 60),然后将“平台和计算类型”并发限制设置为 1,您可以获得排队行为,但这是不可能的,因为限制不是用户可调整的(它可能适用于所有项目)。
简而言之,我认为您无法在达到配置的并发限制后构建 CodeBuild 队列。一种(相当复杂的)替代方法是在 buildpsec.yml 中进行自己的锁定。

关于aws-codebuild - 当并发构建为 1 时,CodeBuild 项目不会排队,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68297671/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com