2016-08-17 18 views
0

私は、インターネットが利用可能なVMでserverspecを使用していました。ServerspecをWindowsマシンにインストールするにはどうすればいいですか?

しかし、テスターに​​スクリプトを渡す必要があるときは、インターネットが利用できないマシンにスクリプトをインストールする必要があります。

私は使用可能なインターネットがテストVMにインストールされているVM内のローカルフォルダにインストールしようとしていました。しかし、私がServerspec-initを実行すると、rspecが見つからないというメッセージが表示されます。

一部の依存する宝石も使用する前にインストールする必要があるようです。

バンドル全体をワンステップとしてインストールすることはできませんか?どうやってするか?

+0

私はこれをrpmとしてパッケージングしていますが、tarballまたはdockerのコンテナとすることもできます。どのルートがあなたのために最もよいようですか? –

+0

@Samselvaprabuは私の解決策を助けましたか? – sixty4bit

+0

@ sixty4bit私はこのリンクが役立ち、それは私のために働いたhttp://help.rubygems.org/kb/rubygems/installing-gems-with-no-network – Samselvaprabu

答えて

2

インターネットにアクセスできないサーバー上で宝石を管理することは間違いありません。あなたが必要なものを行うには

一つの比較的簡単な方法は、アプリケーション内のvendor/cacheディレクトリを利用すると--localフラグを使用してbundle installを使用しているときbundleはそれについて知っているようにすることです。

bundler宝石の宝石アーカイブ(.gemファイル拡張子)をダウンロードし、Rubygems pageに行き、右下の "ダウンロード"リンクをクリックしてください。そのファイルをテストサーバーにアップロードし、コマンドラインから$ gem install bundler-1.12.15.gemを実行する必要があります。

が存在しない場合今、あなたは($ mkdir -p vendor/cacheを有するものを作成する).gem serverspecのためのアーカイブ、その依存関係、およびその依存関係依存関係の全てを取得し、vendor/cacheディレクトリにアプリケーション内にそれらを配置する必要があります。

.gemファイルをvendor/cacheに設定して、アプリケーションをサーバーに展開するときは、bundle install --localを実行します。これで宝石がインストールされます。 に--localオプションの公式文書を見ることができます。

+0

rpmとtarballが古い学校で、ドッカーが新しい学校であれば、これはクールな...中学校(?)メソッドになります。 –

+0

haha​​ええ、ここで想定しているのは、アプリケーションをローカルの 'vendor/cache'ディレクトリに設定しているということですが、インターネットに制限されたサーバに手動でアップロードしてそこに保存する前に、 – sixty4bit

関連する問題