SSH 経由で実行するスクリプトがあり、これにより Git リポジトリから Web サイトが更新されます。
cd website-git
git checkout master
git pull
# Update protected directory
rsync -v -a --delete --exclude=db --exclude=vendor ./protected/ /home/protected
# Update public directory
rsync -v -a --delete --exclude=tmp --exclude=data ./public/ /home/public
問題なく動作しますが、git リポジトリには 150 MB あり、使用したスペースに対して料金を支払う必要があるため、これはあまり良い解決策ではありません。
作業コピー (最初に で取得) からファイルを取得した後にその作業コピーを削除する以外にgit clone
、この設定でスペースを節約する方法はありますか?
答え1
使い方を調べる必要がありますカピストラノこのような Bash スクリプトで車輪の再発明をする代わりに、PHP コードを展開します。Capistrano は基本的に一連の Ruby スクリプトであり、一連の Bash コマンドを実行してコード リポジトリからリモート サーバーにコードを展開します。
Capistrano は主に Ruby 開発の世界で使用されていますが、私は多数の PHP プロジェクトで使用しており、非常にうまく機能しています。これは素晴らしいチュートリアルですPHPアプリケーションでCapistranoを使用する方法について。これと。
:keep_releases
スペースが懸念される場合は、Capistrano スクリプトを設定したら、Capistrano スクリプトで次のように設定を 2 または 3 などの低い値に設定してください。
set :keep_releases, 3