有没有办法使用 rspec-serverspec 在部署期间测试是不是安装了特定版本的 java 或 tomcat?
Posted
技术标签:
【中文标题】有没有办法使用 rspec-serverspec 在部署期间测试是不是安装了特定版本的 java 或 tomcat?【英文标题】:Is there a way to test whether a particular version of java or tomcat is installed during deployment using rspec-serverspec?有没有办法使用 rspec-serverspec 在部署期间测试是否安装了特定版本的 java 或 tomcat? 【发布时间】:2019-12-13 12:33:53 【问题描述】:我有一个使用 puppet 构建的环境。 我打算写一些 rspec-ruby 脚本,一旦 puppet 构建完成就可以执行,以测试是否创建了所有目录、包、用户和角色。
我想使用 rspec 测试在 puppet 构建期间是否安装了特定版本的 Java 和 Tomcat(例如 tomcat:9.0.17)。
到目前为止,我所做的是通过在目录名称中包含它们的版本号来测试目录是否存在于 tomcat 或 java 中,如下所示:
describe file('/opt/tomcat/9.0.17') do
it should be_directory
end
除此之外还有其他方法吗? 还是像我们测试包安装的方式一样?
【问题讨论】:
【参考方案1】:在 Stack Overflow 上有关于如何检查这些应用程序版本的相关问题:
Tomcat Java但您可能遇到的问题是,要让 Serverspec 运行 Java 命令(两者都需要),您可能需要已经知道 Java 命令的路径,这取决于 Java 和/或 Tomcat 的版本。
因此,正如您已经在做的那样,使用目录很可能是最简单的解决方案。
(这也是我所做的,例如在这个项目中here。)
【讨论】:
谢谢@Alex。是的,你是对的。我遇到了同样的问题,所以我使用了目录测试。只是想看看是否有任何替代方式使用 rspec-serverspec。感谢您提供的链接,我现在将查看这些链接。以上是关于有没有办法使用 rspec-serverspec 在部署期间测试是不是安装了特定版本的 java 或 tomcat?的主要内容,如果未能解决你的问题,请参考以下文章