使用 Jenkins ECS 插件生成多个代理(等待下一个可用的执行程序)
Posted
技术标签:
【中文标题】使用 Jenkins ECS 插件生成多个代理(等待下一个可用的执行程序)【英文标题】:Spawning multiple agents with Jenkins ECS plugin (Waiting for next available executor) 【发布时间】:2019-01-28 19:57:51 【问题描述】:我尝试将 Jenkins 配置为在 ECS 上为每个构建生成一个从属容器。 为了实现这一点,我使用了 Amazon EC2 容器服务插件。
我定义了一个带有“ecs”标签的云和 ECS 从属模板。构建单个作业时,一切正常 - 从容器在集群上启动。但是,如果我尝试并行构建另一个作业,它会打印 "Waiting for next available executor on ecs"
并且仅在前一个作业完成后才开始运行(它的容器被停止)。
如果一次只能运行一个作业,我不明白这个插件的意义何在 - 我认为它的创建是为了提供从节点的弹性创建,适合工作负载。我错过了什么吗?
【问题讨论】:
【参考方案1】:考虑每个正在运行的构建的资源分配。如果您的集群没有足够的资源来并行启动 1 个以上的构建,您可以尝试扩展 ECS 集群。请注意,缩放不是插件的任务。要添加更多,您可以在 ECS 插件的设置中配置 CPU 和内存预留。
【讨论】:
以上是关于使用 Jenkins ECS 插件生成多个代理(等待下一个可用的执行程序)的主要内容,如果未能解决你的问题,请参考以下文章
在 Jenkins 上使用 Groovy 配置 amazon-ecs 从属插件
Flow vs Jenkins 实操对比,如何将Java应用快速发布至ECS