4

私はlaravel 4でアプリを構築しており、さらにテストするためにクラウドサーバーにデプロイしようとしています。私が通常行う一般的なプロセスは、ローカル > github へのプッシュ > サーバーへのクローンです。

これに関する問題は、私が追加した laravel/composer パッケージのほとんどすべてが、独自の git リポジトリを持っているために無視されることです。事前にこれについて考えたことはありませんでした。

サブモジュールの概念は理解していますが、設定方法がよくわかりません。アプリにインストールするパッケージごとに、親ツリーにサブモジュールを追加する必要がありますか? これを処理するより自動化された方法はありますか?

または、私は完全にオフになっていますか?これらはサーバー上で composer で更新する必要がありますか?

4

3 に答える 3

1

Composer を使用する場合、Git サブモジュールをまったく気にする必要はありません。

ローカル マシンでは、依存関係を指定してcomposer.json実行するだけcomposer installです。composer.json ここで、と をプロジェクト リポジトリに追加しますが、 のディレクトリはcomposer.lock除外します。vendor.gitignore

プロジェクトをデプロイするには、本番サーバーでプロジェクト リポジトリをクローンまたはプルし、composer install再度実行してすべてのプロジェクトの依存関係をインストールします。

composer install依存関係に変更を加えると、ローカル マシンと運用マシンを含め、まったく同じプロセスをもう一度実行します。

于 2013-05-07T11:13:50.030 に答える
1

コンポーザーを本番サーバーで実行するのは重大な間違いだと思います。Chef の使用を開始する、およびデプロイ時に composer install を実行するを参照してください。

于 2013-05-12T11:47:41.503 に答える