我在一臺虛擬機中使用了serverspec,在這個虛擬機上可用的網絡非常好。如何在Windows機器上安裝Serverspec,其中不存在Internet?
但是,當我們需要將腳本交給測試人員時,他們必須將其安裝在沒有互聯網的機器上。
我試圖安裝在虛擬機中的本地文件夾中,其中可用的互聯網然後安裝在測試虛擬機中。但是,當我運行Serverspec-init它說rspec沒有找到。
似乎還需要在使用它之前安裝一些依賴的寶石。
作爲一步安裝整個捆綁包是不可能的?怎麼做?
我在一臺虛擬機中使用了serverspec,在這個虛擬機上可用的網絡非常好。如何在Windows機器上安裝Serverspec,其中不存在Internet?
但是,當我們需要將腳本交給測試人員時,他們必須將其安裝在沒有互聯網的機器上。
我試圖安裝在虛擬機中的本地文件夾中,其中可用的互聯網然後安裝在測試虛擬機中。但是,當我運行Serverspec-init它說rspec沒有找到。
似乎還需要在使用它之前安裝一些依賴的寶石。
作爲一步安裝整個捆綁包是不可能的?怎麼做?
在沒有互聯網訪問的服務器上管理寶石絕對是一個挑戰。
一個相對簡單的方法做你需要的是利用vendor/cache
目錄在你的應用程序,並bundle
知道它使用bundle install
使用--local
標誌時。
首先,下載bundler
寶石的寶石檔案(.gem
文件擴展名),方法是轉到Rubygems page並單擊右下角的「下載」鏈接。您需要將該文件上傳到測試服務器,然後從命令行運行$ gem install bundler-1.12.15.gem
。
現在你需要得到.gem
存檔serverspec,它的依賴,以及其所有依賴的依賴,並把它們放到vendor/cache
目錄(創建那些$ mkdir -p vendor/cache
)你的應用程序中,如果他們不存在。
現在,當您將應用程序部署到服務器時,使用vendor/cache
中的這些.gem
文件運行bundle install --local
。這將安裝寶石。您可以在bundler docs處看到--local
選件的官方文檔。
如果rpm和tarball是老派並且碼頭工人是新學校,那麼這將使得這是一個很酷的......中學(?)方法。 –
哈哈是啊,這裏的假設是,你正在用'vendor/cache'目錄在本地設置你的應用程序,但是你可能會在將應用程序手動上傳到internet-restrictured服務器並將其解壓到那裏之前歸檔應用程序 – sixty4bit
我已經通過將其打包爲rpm來完成此操作,但您也可以將其作爲tarball或docker容器。什麼路線最適合你? –
@Samselvaprabu我的解決方案能幫助您嗎? – sixty4bit
@ sixty4bit我發現這個鏈接是有幫助的,它爲我工作http://help.rubygems.org/kb/rubygems/installing-gems-with-no-network – Samselvaprabu