Git からの Web サイトの更新 (ssh 経由)

Git からの Web サイトの更新 (ssh 経由)

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

関連情報