我有一個透過 SSH 運行的腳本,它從 Git 儲存庫更新我的網站。
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
您應該研究如何使用卡皮斯特拉諾部署 PHP 程式碼,而不是使用像這樣的 Bash 腳本重新發明輪子。 Capistrano 基本上是一系列 Ruby 腳本,然後依序執行一系列 Bash 命令以將程式碼從程式碼儲存庫部署到遠端伺服器。
雖然 Capistrano 主要用於 Ruby 開發領域,但我已經在大量 PHP 專案中使用了它,而且效果非常好。這是一個很好的教程關於如何調整 Capistrano 以在 PHP 應用程式中使用。同上與這個。
如果空間是一個問題,一旦您設定了 Capistrano 腳本,請務必將設定設為:keep_releases
較低的值,例如 2 或 3,如下所示在 Capistrano 腳本中:
set :keep_releases, 3