我需要我的回归测试在一个单独的 ec2 从机中运行,当我触发测试的构建时,该机将自动启动。
现在做了什么:
我安装了 EC2 Jenkins 插件,从所需实例创建了 AMI,在管理 Jenkins -> 配置系统中设置云提供商,测试了与 Amazone 控制台的连接,并为该 AMI 设置了标签。 因此 Jenkins 可以定义所需的 AMI (1) 并且 AMI 具有标签“UI_TESTS”(2)
我还在作业设置中设置了限制,使其仅在带有“UI_TESTS”标签的节点上运行:
现在当我去管理 Jenkins -> 管理节点时 我可以使用这个云提供商启动一个新节点:
Jenkins 实际上连接到了该 ec2 实例。
问题:
在这种情况下,节点将永久运行。 如果我删除创建的代理并尝试运行作业构建,我会收到一个错误,指出没有这样的标签 - UI_TESTS:
问题:
在作业构建开始后立即触发从属 ec2 实例创建而不手动创建节点的适当方法是什么?
设置作业构建配置以便云提供商在构建开始时启动从属实例的后续步骤是什么?
所以,最终......我只需要等一会儿就可以创建这篇文章。 实际发生的情况:当我开始构建时,它确实从云提供商调用了 ec2 实例创建(无需手动创建节点)。但由于启动实例并使其进入工作状态大约需要 2 分钟,因此该作业处于待处理状态,我开始恐慌。
总结:上面的算法可以正确地按需启动远程 ec2 从节点。