Amazon web services 让jenkins启动并终止EC2实例

Amazon web services 让jenkins启动并终止EC2实例,amazon-web-services,jenkins,amazon-ec2,jenkins-plugins,Amazon Web Services,Jenkins,Amazon Ec2,Jenkins Plugins,我有一个完整的部署作业,它获取一个正在运行的实例的ip并在其上部署我的系统 我目前拥有一个EC2实例,用于每晚运行的自动化测试,但是这个实例很昂贵,我正在寻找一种方法,在测试之前启动它,在测试之后终止它 我寻找EC2插件,可以帮助和最接近的一个是,但这是为使奴隶,这不是我想要的 我希望能够启动一个EC2实例,并将其IP地址传递给自动化测试作业,然后在完成后终止该实例 我开始为此制作一个命令行bash文件,但这似乎是太多的工作了,我想也许我遗漏了一些东西 您的要求是有效的,亚马逊知道: 当您停止一

我有一个完整的部署作业,它获取一个正在运行的实例的ip并在其上部署我的系统

我目前拥有一个EC2实例,用于每晚运行的自动化测试,但是这个实例很昂贵,我正在寻找一种方法,在测试之前启动它,在测试之后终止它

我寻找EC2插件,可以帮助和最接近的一个是,但这是为使奴隶,这不是我想要的

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


我开始为此制作一个命令行bash文件,但这似乎是太多的工作了,我想也许我遗漏了一些东西

您的要求是有效的,亚马逊知道:

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

参考资料:
-

这里有一些启动/停止Instance的方法

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

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


AWS CLI
以下是有关如何使用aws cli挂起实例的详细信息:

  • 也使用powershell:
您可以通过多种方式从Jenkins调用此api:简单的shell执行、groovy和脚本/声明式管道


AWS实例调度器 2018年,AWS推出了AWS实例调度器,这是一种新的改进的调度解决方案,使客户能够调度Amazon EC2实例

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

参考:


使用这种方法,你不需要Jenkins:b

为什么不让Jenkins运行一个shell脚本,在这个shell脚本中编写一个命令来运行EC2,然后在工作完成后再编写一个命令来杀死它呢?我现在觉得很愚蠢。我就这么做。谢谢你的详细回答。但是在开始运行自动化套件之前,我怎么知道实例实际上已经启动了呢。。发现:aws ec2等待实例正在运行--实例ID“i-XXXXXXXX”无需担心。在aws web平台中,几乎所有的用户界面操作都可以通过http api rest或aws cli执行。同样有趣的是,开发一个jenkins插件来减少更多的步骤。
https://ec2.amazonaws.com/?Action=StartInstances&...
https://ec2.amazonaws.com/?Action=StopInstances&...