我有一个通过 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
在 Capistrano 脚本中将设置设置为较低的值,例如 2 或 3,如下所示:
set :keep_releases, 3