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 从属节点。
我需要在一个单独的 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 从属节点。