服务器部署的自动测试框架

服务器部署的自动测试框架

我一直在部署 Linux 服务器,并且想测试每个安装。就像系统测试一样。

对于应用程序,有大量的测试框架,但我找不到任何用于测试服务器安装的东西。

更具体地说:我使用 Puppet 部署了各种 Ubuntu 组合,例如 LAMP、LNMP、Solr、Elasticsearch、Nodejs 等。稍后,其他人会将应用程序添加到这些安装中。为了尽可能确保最佳质量,我现在使用矩阵运行 Jenkins,该矩阵测试运行我使用的每种可能的 Puppet 清单组合。这确保了 Puppet 在部署期间不会失败。

问题是,即使 Puppet 成功了,也不能保证 ElasicSearch 确实有效,或者 iptables 会阻止正确的端口等等。当然,我可以编写一堆 bash 脚本进行测试,但这是错误的方法。

问题是,是否已经存在这样的框架(但我错过了)?或者还有其他好的建议如何继续?目标是有可能测试正在运行的进程、连接到端口等。

谢谢,

答案1

我找到了完美的匹配(至少对我来说)。

现在我用服务器规范您可以在测试目标机器上本地或远程运行它,测试用例如下所示:

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

有大量的测试资源描述这里。您可以检查现有用户、文件、crontab 条目、iptables 规则等等。

答案2

您正在寻找一种称为监控的东西。您只需设置一些测试,监控软件就会运行它并报告结果。有很多这样的软件,例如 zabbix 或 nagios。

相关内容