测试Capistrano部署和宝石

时间:2017-03-10 15:24:23

标签: ruby-on-rails testing capistrano capistrano3

Ruby有一种测试文化。所以我很惊讶地发现没有关于Capistrano的测试细节。

测试Capistrano部署和Gems的选项有哪些?

2 个答案:

答案 0 :(得分:1)

Capistrano项目本身 具有测试文化,并包含使用Vagrant VM代替远程服务器的integration tests(Cucumber“功能”)。这些测试运行起来有些慢,需要特殊工具(例如Virtual Box),而且在Travis CI中不起作用。因此,这种集成测试方式从未与更广泛的Capistrano第三方宝石社区相提并论。

然而,Capistrano最近对formalize its plugin system做了改进,并使这些插件更容易进行单元测试。例如,内置于Capistrano的SCM实现现在都是use this new plugin system,并且具有相应的测试。

我希望新的Capistrano宝石能够利用插件架构并提供更好的测试。如果您打算编写自己的Capistrano任务库,refer to the SCM tests用于测试策略,可以随意提出改进建议。

如果您不是在开发gem,而只是使用Capistrano来部署应用程序:基于各种Capistrano宝石,配置,服务器环境等的组合,您的部署对于您的特定项目将是独一无二的。唯一真实的方式通过使用暂存环境来测试您的部署。

答案 1 :(得分:0)

摘要

大多数食谱未经过测试。在临时服务器上测试部署。

详细

大多数食谱未经过测试。

according to Lee Hambley (a Capistrano maintainer)的原因是:

  1. Capistrano在测试文化发展之前就已经架构了
  2. 规范中的测试用例与将要执行的服务器环境不相似。
  3. 另外:

    建议在使用生产之前建立一个临时环境来“测试”。