2017-06-22 9 views
1

私はscoutアプリケーションによって提供されるAPMソリューションを展開しようとしています。 Scout apmのドキュメントには、私がサーバー上で実行しているすべてのアプリケーションに宝石をインストールする必要があると書かれています。私は単一のサーバー上で複数のアプリケーションを実行しています。私のルビーアプリケーションはすべて/var/wwwにあります。そのapmの宝石を1か所に配備する方法はありますか?そしてそれをすべてのサービスに使うことができます。私は各アプリケーションにGemfileとその設定ファイルをconfigフォルダに追加する必要はありません。私はそれがシェルスクリプトを使用して達成することができることを知っているが、そのアプローチの問題は、すべてのアプリケーションが私の管理上のオーバーヘッドになる独自のgitリポジトリを持っていることです。Ruby gem一般的なすべてのアプリケーション向けのデプロイ

+0

それぞれの 'Gemfile'に依存関係を追加するのはなぜ問題なのですか?私にとって非常に簡単な解決策のように聞こえる。 –

+0

私はこのエクササイズをしなければならない90以上のアプリケーションを持っています。管理上のオーバーヘッドではないですか? –

+0

あなたのアプリケーションにはすでに「共有ロジック」の宝石がありますか?この宝石のランタイム依存性としてこれを追加する可能性があります。さもなければ...あなたはちょうど1つの移動ですべての90 + Gemfilesを更新するための小さなシェルスクリプトを書くことができます。 –

答えて

2

いいえ、アプリケーションに使用する宝石をGemfileに追加する必要があります。その宝石をアプリケーションのGemfileに追加しないと、アプリケーションはその宝石を単にロードしないためです。

また、サーバーにグローバルに宝石をインストールし、各アプリケーションに宝石を手動でインストールすることもできます。しかし、それでも、すべてのアプリケーションにrequire 'gem_name'を追加する必要があることを意味します。これは、bundlerによって提供される魔法を失うため、エラーが発生しやすくなります。

tl; dr:いいえ、各アプリケーションのGemfileに宝石を追加する必要があります。

+0

これを行う他の方法はありますか?または、すべてのアプリに宝石を加えることで、この方法だけです。 Common Gemfileのように、すべてのアプリで共通の宝石を使用できます。 –

関連する問題