0

我在可以上网的虚拟机中使用 serverspec,它非常好。

但是当我们需要将脚本提供给测试人员时,他们必须将其安装在没有互联网可用的机器上。

我试图安装在可以上网的虚拟机的本地文件夹中,然后安装在测试虚拟机中。但是当我运行 Serverspec-init 时,它说找不到 rspec。

似乎在使用之前还需要安装一些依赖的 gem。

难道不能一步安装整个捆绑包吗?怎么做?

4

1 回答 1

2

在无法访问 Internet 的服务器上管理 gem 绝对是一个挑战。

一种相对简单的方法来做你需要的事情是利用vendor/cache你的应用程序中的目录,并在使用时通过使用标志bundle来了解它。bundle install--local

首先,通过转到其Rubygems 页面并单击右下角的“下载”链接来下载 gem 的 gem 存档(.gem文件扩展名) 。您需要将该文件上传到您的测试服务器并从命令行运行。bundler$ gem install bundler-1.12.15.gem

现在,您需要获取.gemserverspec、其依赖项及其所有依赖项的依赖项的归档文件,如果它们不存在,则将它们放在应用程序的vendor/cache目录中(使用 创建那些)。$ mkdir -p vendor/cache

现在,当您将应用程序部署到服务器时,使用这些.gem文件vendor/cache,运行bundle install --local. 这将安装宝石。您可以在bundler docs中查看该--local选项的官方文档。

于 2016-08-17T12:12:00.070 回答