2017-01-24 4 views
1

私が理解しているように、Composerを使用しているプロジェクトでは、プロダクションサーバにデプロイする正しい方法は、Gitのvendorフォルダをトラッキングせず、代わりにプロダクションサーバでComposerを実行し、 vendorフォルダがあります。 まず、私はそのビットを持っていますか?(これは愚かな質問のように聞こえるかもしれないが、誰も明示的に私にこれを述べていない)Composerをプロダクションサーバにインストールできない場合は、Gitのベンダーフォルダを追跡できますか?

第二に、私の本番サーバーが安い共有ホスティング環境ではなく、光沢のある高価なAWSやデジタルオーシャン箱ですので、私はできません運用環境にComposerをインストールします。私が物事をしたいと思っている限り、理想的なの方法はできません。 Gitのvendorフォルダを追跡し、そのようにパッケージを展開するための次善策です。その後、より柔軟なホスティングパッケージにアップグレードすると、vendorフォルダの追跡をやめて、理想的なやり方で作業を開始できますか?

+1

レスポンス:はい。はい。 – Veve

答えて

2

ベンダーマップの使用方法を理解していることが正しいです。

2番目の質問では、最後の手段としてソリューションを選択するだけです。それは理想から遠いです。リポジトリは、サードパーティの変更に伴って絶えず更新する必要があります。ローカルでPHP、作曲とのgitをインストール

  1. :私は好むあなたの場合

    。これは、Windows、OSX、Linuxで可能です。

  2. あなたのサイトをローカルでミラーリングし、そこでコンポーザーの更新を実行してください。
  3. FTP経由(または使用するもの)の本番サイトへの更新をコピーします。

これにより、リポジトリはコンパクトで管理しやすくなります。リポジトリに独自の変更をコミットする必要があります。

将来的にサーバーでgitを実行できる場合は、ベンダーマップ全体をクリアすることなくリポジトリを使い続けることができます。

+0

本当にGitを使ってFTP経由でアップロードする手作業を信頼していますか?それは、私が元の質問でそれを示唆していないほど後方にあるようです。 –

+0

プロジェクトのローカル開発コピーには、開発者のみに必要ないくつかの開発関連パッケージがインストールされている可能性があります。だから、少なくともあなたのサーバー上でコンポーザーを実行できない場合は、ローカル生産コピー(あなたのサーバーと同期している)が良い考えであるかもしれません。 –

+2

@MartinJoiner私はあなたがプロセスを自動化しようとしていたのかどうか分かりません:-)。私たちはデプロイを自動化するために何年もの間、 'rsync'を使い、それを完全に信頼するようになりました。あなたのプロバイダがそれをサポートしないと思うので、私は 'rsync'を提案しませんでした。そして、FTPはどこにでもあります。私はgitで第三者を追跡するよりもローカルでミラーリングしたいと思う。 –

-1

はい、これは一般的に人々が作曲家を使用する方法です。

このサーバーにシェルアクセス権がある場合は、簡単にコンポーザーを使用できます。レポにcomposer.pharを追加するだけで、共有サーバーでphp composer.phar installを実行できます。

ウェブサイト(https://getcomposer.org/download/)から最新の作曲家を入手できます。

シェルアクセス権がない場合は、ベンダーをgitに入れることができますが、ベンダーを手動でFTP経由でコピーしたいのですが、gitに格納するよりもそうです。 私はあなたがサーバー側でgitを使っているので、シェルアクセスがあることを前提としていますが、それはそうではありません;)

+0

これは質問に答えないので、コメントであったはずです。 – Veve

+0

@Veve私は50の評判を持っていないので、投稿にコメントすることはできません。しかし、それを手伝ってくれてありがとう – jdrzejb

関連する問題