【问题标题】:Is it a bad idea to create a large amount of AWS EC2 instances for automated integration tests with Vagrant?为 Vagrant 的自动化集成测试创建大量 AWS EC2 实例是不是一个坏主意?
【发布时间】:2015-08-04 07:13:07
【问题描述】:

我创建了一个自动化集成测试,它使用 Vagrant 创建一个带有 MySQL 数据库的环境,运行我的测试应用程序,断言数据库,最后销毁 Vagrant 盒子。我想让它在有人提交代码时自动运行,所以我想创建一个 Jenkins 作业。问题是我们没有专门的机器来运行 Vagrant。我被建议的选项之一是使用 AWS。所以我终于让“vagrant up --provider=aws”开始工作了。它创建了一个实例,但我开始认为我们将进行大量集成测试,不断创建和销毁 EC2 实例。问题:不断创建和销毁 EC2 的新实例是不是一个坏主意?

【问题讨论】:

    标签: amazon-web-services jenkins amazon-ec2 continuous-integration


    【解决方案1】:

    显然,这种方法的缺点是成本。在 AWS EC2 中,您为实例运行的每一小时付费,并且无论何时启动一个实例,即使您立即终止它,您也需要为此付费(因此,如果您启动一个实例 100 次并在每次测试后停止它,您就是仍然支付 100 小时)。虽然您仍然可以在免费层中获得一些空闲时间(我怀疑它是 750,所以这实际上取决于您要运行多少测试以及运行频率)。

    每个地区和平台的价格不同,购买预订可以节省很多:http://aws.amazon.com/ec2/pricing/

    试着看看这个 SO question - 你可能会在那里找到你需要的东西: How to combine Vagrant with Jenkins for the perfect Continuous Integration Environment?

    【讨论】:

    • 集成测试平均会运行 1 分钟,所以我会按一个小时收费,所以我认为这是个坏主意。
    • 一般来说,我不会推荐这种方法,请尝试查看其他线程。我相信你会找到更好的方法来实现这一点。
    猜你喜欢
    • 2010-12-19
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-18
    • 2018-10-11
    相关资源
    最近更新 更多