Linux
伺服器部署的自動測試框架
我一直在部署 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。