我在可以上网的虚拟机中使用 serverspec,它非常好。
但是当我们需要将脚本提供给测试人员时,他们必须将其安装在没有互联网可用的机器上。
我试图安装在可以上网的虚拟机的本地文件夹中,然后安装在测试虚拟机中。但是当我运行 Serverspec-init 时,它说找不到 rspec。
似乎在使用之前还需要安装一些依赖的 gem。
难道不能一步安装整个捆绑包吗?怎么做?
我在可以上网的虚拟机中使用 serverspec,它非常好。
但是当我们需要将脚本提供给测试人员时,他们必须将其安装在没有互联网可用的机器上。
我试图安装在可以上网的虚拟机的本地文件夹中,然后安装在测试虚拟机中。但是当我运行 Serverspec-init 时,它说找不到 rspec。
似乎在使用之前还需要安装一些依赖的 gem。
难道不能一步安装整个捆绑包吗?怎么做?
在无法访问 Internet 的服务器上管理 gem 绝对是一个挑战。
一种相对简单的方法来做你需要的事情是利用vendor/cache
你的应用程序中的目录,并在使用时通过使用标志bundle
来了解它。bundle install
--local
首先,通过转到其Rubygems 页面并单击右下角的“下载”链接来下载 gem 的 gem 存档(.gem
文件扩展名) 。您需要将该文件上传到您的测试服务器并从命令行运行。bundler
$ gem install bundler-1.12.15.gem
现在,您需要获取.gem
serverspec、其依赖项及其所有依赖项的依赖项的归档文件,如果它们不存在,则将它们放在应用程序的vendor/cache
目录中(使用 创建那些)。$ mkdir -p vendor/cache
现在,当您将应用程序部署到服务器时,使用这些.gem
文件vendor/cache
,运行bundle install --local
. 这将安装宝石。您可以在bundler docs中查看该--local
选项的官方文档。