使用 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

如何通过 Jenkins 更新 ECS 容器/TASK?

jenkins插件开发(一)——h5发布到CDN

50-Jenkins-Lockable Resources插件实现资源锁定

Jenkins SSH 插件/SSH 代理插件:异常:超时:未建立套接字