服务器部署的自动testing框架

我总是部署Linux服务器,并希望testing每个安装。 像系统testing一样。

对于有很多testing框架的应用程序,但是我找不到任何testing服务器安装的东西。

更具体地说:使用Puppet,我部署了各种Ubuntu组合,比如LAMP,LNMP,Solr,Elasticsearch,Nodejs等等。在稍后阶段,别人会为这些安装添加一个应用程序。 为了确保最好的质量,我现在用一个matrix运行Jenkins,testing运行我使用的每个可能的Puppet清单组合。 这确保了Puppet在部署期间不会失败。

问题是,即使Puppet成功,也不能保证,例如ElasicSearch实际上工作,或者iptables阻塞正确的端口等等。 当然,我可以写一堆bash脚本来testing,但这只是错误的方法。

问题是,这个框架已经存在(但我错过了)? 或者还有什么其他好的build议如何在这里进行? 目标是有可能testing正在运行的进程,连接到端口等

谢谢,

我find了比赛(对我来说至less)。

现在我使用ServerSpec 。 您可以在testing目标机器上本地或远程运行它,testing用例如下所示:

 describe port(80) do it { should be_listening } end 

这里描述了大量的testing资源。 你可以检查现有的用户,文件,crontab条目,iptables规则等等。

你正在寻找一种叫监控的东西。 您只需设置一些testing,监控软件将运行它并报告结果。 有很多这样的软件,例如zabbix或者nagios。