Linux

伺服器部署的自動測試框架

  • July 21, 2016

我一直在部署 Linux 伺服器,並且想測試每個安裝。就像系統測試一樣。

對於應用程序,有許多測試框架,但我找不到任何用於測試伺服器安裝的東西。

更具體地說:使用 Puppet,我部署了各種 Ubuntu 組合,例如 LAMP、LNMP、Solr、Elasticsearch、Nodejs 等。在稍後階段,其他人將應用程序添加到這些安裝中。為了盡可能確保最佳質量,我現在使用一個矩陣執行 Jenkins,該矩陣測試執行我使用的 Puppet 清單的每個可能組合。這可確保 Puppet 在部署期間不會失敗。

問題是即使 Puppet 成功,也不能保證,例如 ElasicSearch 確實有效,或者 iptables 阻止了正確的埠等等。當然,我可以編寫一堆 bash 腳本進行測試,但那是錯誤的方式。

問題是,這個框架是否已經存在(但我錯過了)?或者還有其他好的建議如何在這裡進行?目標是有可能測試正在執行的程序、連接到埠等。

謝謝,

我找到了完美的匹配(至少對我來說)。

現在我使用ServerSpec。您在測試目標機器上本地或遠端執行它,測試案例如下所示:

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

這裡描述了大量的測試資源。您可以檢查現有使用者、文件、crontab 條目、iptables 規則等等。

你正在尋找一種叫做監控的東西。您只需設置一些測試,監控軟體就會執行它並報告結果。有很多這樣的軟體,例如 zabbix 或 nagios。

引用自:https://serverfault.com/questions/780727