Sté*_*écy 12 virtualization teamcity automated-tests
我正在尝试使用虚拟机环境为我们的应用程序设置自动化测试.
我想要的是类似下面的场景:
如果重要的话,我正在使用TeamCity.对于虚拟机,我们使用VirtualBox,但如果需要,我们可以对任何其他虚拟机开放.
是否有任何应用程序/套件可以管理此方案?
如果没有,那么我会自己编码,应该很容易,但唯一的部分我不确定是虚拟机的处理.
我需要做的是让VM在测试后自行关闭并恢复到之前的快照,因为我希望它在下一个测试中处于已知状态.
有什么指针吗?
ash*_*ods 12
我有一个类似的设置运行,我选择使用Vagrant作为我们的开发人员用于规范化开发环境的同样的事情.
虚拟机的初始状态是使用puppet编写的,但我们没有在每次测试中从头开始运行部署脚本,每天只运行一次.
您可以使用puppet/chef来处理所有事情,但是对于VM上的所有其他操作,我们将使用Fabric脚本,因为它们也用于实际部署,并且以某种方式使我们更好地工作.总之,脚本看起来如下所示:
vagrant up # fire up the vm, and run the puppet provisioning tool
fab vm run_test # run tests on vm
fab local process_result # process results on local shared folder
vagrant destroy # destroy the vm
Run Code Online (Sandbox Code Playgroud)
优点是你的开发人员也可以使用vagrant来模仿你的生产环境,而不必自己处理(即数据库设置的更改会同步到你所有的开发人员vm),并且可以在生产中使用相同的脚本太.
归档时间: |
|
查看次数: |
6859 次 |
最近记录: |