Job 构建开始时自动创建 Jenkins 节点

Create Jenkins node automatically when Job build starts

我需要在一个单独的 ec2 从箱中对 运行 进行回归测试,当我触发测试的构建时,该箱将自动启动。

目前做了什么:

我安装了 EC2 Jenkins 插件,从所需实例创建了 AMI,在管理 Jenkins -> 配置系统中设置了云提供商,测试了与 Amazone 控制台的连接并为该 AMI 设置了标签。 所以 Jenkins 可以定义所需的 AMI (1) 并且 AMI 有一个标签 "UI_TESTS" (2)

我还在作业设置中将限制设置为 运行 仅在具有 "UI_TESTS" 标签的节点上:

现在我去管理 Jenkins -> 管理节点 我可以使用这个云提供商启动一个新节点:

并且 Jenkins 实际上连接到该 ec2 实例。

问题:

在这种情况下,节点将永久 运行ning。 如果我删除创建的代理并尝试 运行 作业构建,我会收到一条错误消息,指出没有这样的标签 - UI_TESTS:

问题:

在作业构建开始后立即触发从属 ec2 实例创建而无需手动创建节点的合适方法是什么?

设置作业构建配置的后续步骤是什么,以便云提供商在构建开始时立即启动从属实例?

所以,最终...我只需要稍等片刻就可以创建这个 post。 实际发生了什么:当我开始构建时,它真的调用了云提供商的 ec2 实例创建(无需手动创建节点)。但是因为启动实例并使其进入工作状态大约需要 2 分钟,工作挂起,我开始恐慌。

总结一下:上面的算法可以正确地按需启动远程 ec2 从属节点。