Tengo un script que ejecuto a través de SSH, que actualiza mi sitio web desde un repositorio de 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
Funciona bien, pero el repositorio de git tiene 150 MB y pago por el espacio utilizado, por lo que esta no es una muy buena solución.
Además de eliminar la copia de trabajo (inicialmente obtenida con git clone
) después de tomar los archivos, ¿hay alguna forma de ahorrar espacio con esta configuración?
Respuesta1
Deberías investigar cómo utilizarCapistranoimplementar su código PHP en lugar de reinventar la rueda con un script Bash como este. Capistrano es básicamente una serie de scripts Ruby que a su vez ejecutan una serie de comandos Bash para implementar código desde un repositorio de código a un servidor remoto.
Aunque Capistrano se usa principalmente en el mundo del desarrollo de Ruby, lo he usado en toneladas de proyectos PHP y funciona muy bien.Este es un buen tutorial.sobre cómo adaptar Capistrano para su uso en aplicaciones PHP. ÍdemCon este.
Si le preocupa el espacio, una vez que haya configurado los scripts de Capistrano, asegúrese de establecer la :keep_releases
configuración en algo bajo, como 2 o 3, como este en el script de Capistrano:
set :keep_releases, 3