我一直在部署 Linux 服务器,并且想测试每个安装。就像系统测试一样。
对于应用程序,有许多测试框架,但我找不到任何用于测试服务器安装的东西。
更具体地说:使用 Puppet,我部署了各种 Ubuntu 组合,例如 LAMP、LNMP、Solr、Elasticsearch、Nodejs 等。在稍后阶段,其他人将应用程序添加到这些安装中。为了尽可能确保最佳质量,我现在使用一个矩阵运行 Jenkins,该矩阵测试运行我使用的 Puppet 清单的每个可能组合。这可确保 Puppet 在部署期间不会失败。
问题是即使 Puppet 成功,也不能保证,例如 ElasicSearch 确实有效,或者 iptables 阻止了正确的端口等等。当然,我可以编写一堆 bash 脚本进行测试,但那是错误的方式。
问题是,这个框架是否已经存在(但我错过了)?或者还有其他好的建议如何在这里进行?目标是有可能测试正在运行的进程、连接到端口等。
谢谢,
我找到了完美的匹配(至少对我来说)。
现在我使用ServerSpec。您在测试目标机器上本地或远程运行它,测试用例如下所示:
这里描述了大量的测试资源。您可以检查现有用户、文件、crontab 条目、iptables 规则等等。
你正在寻找一种叫做监控的东西。您只需设置一些测试,监控软件就会运行它并报告结果。有很多这样的软件,例如 zabbix 或 nagios。