让詹金斯启动EC2实例并终止它

时间:2019-01-22 14:13:52

标签: amazon-web-services jenkins amazon-ec2 jenkins-plugins

我有一个完整的部署工作,该工作需要一个正在运行的实例的ip并在其上部署我的系统。

我目前拥有一个EC2实例,用于每晚运行的自动化测试,但是该实例非常昂贵,我正在寻找一种在测试之前将其初始化并在测试之后将其终止的方法。

我在寻找可以提供帮助的EC2插件,而最接近的插件是this,但这是为了制作奴隶,那不是我想要的。

我希望能够启动EC2实例,并将其IP地址传递给自动化测试作业,然后在完成后终止该实例。

我为此开始制作了一个命令行bash文件,但这似乎工作量太大,我想可能还缺少一些东西。

1 个答案:

答案 0 :(得分:2)

您的要求有效并且亚马逊知道:

当您停止实例时,我们将其关闭。我们不会为已停止的实例收取使用费或数据传输费,但会为任何Amazon EBS卷收取存储费用。

参考:
-https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html

这里有一些方法可以开始/停止动作

Amazon EC2 HTTP API

这是一个api休息,您可以执行简单的http请求以启动或停止实例:

https://ec2.amazonaws.com/?Action=StartInstances&...

https://ec2.amazonaws.com/?Action=StopInstances&...

您可以通过多种方式从Jenkins 调用此api:简单的shell执行,常规和脚本化/声明式,管道。


AWS CLI

有关如何使用aws cli暂停实例的更多信息:

您可以通过多种方式从Jenkins 调用此api:简单的shell执行,常规和脚本化/声明式,管道。


AWS实例计划程序

2018年,AWS启动了AWS Instance Scheduler,这是一种经过改进的新的调度解决方案,使客户能够调度Amazon EC2实例。

使用此工具,您可以自动启动和停止Amazon EC2和Amazon RDS实例。

参考:

通过这种方法,您不需要詹金斯:b