Search code examples
phpphing

Phing - large deploy


I'm trying to start using phing for deploying the project I'm working on. Until now, I just used "git pull" on production server and made other actions needed manually.

Looking through the web I see alot of people recommend the following process:

  1. Prepare and archive everything on local computer
  2. SCP/FTP it to production server and unpack there
  3. Update several symlinks

I like the process for it's transparency, safety and easiness to go back to previous releases. But my code for the project (along with all themes/images etc) takes around 300Mb and this entire procedure takes around 2 hours to finish, while earlier it took me less than a minute.

Waiting 2 hours for a simple hotfix seems like really too much. Any idea on how to overcome this? Or maybe you'd advice different way of making deploy.


Solution

  • To expand on marcelog's comment, if you have a lot of static content that doesn't change over time (theme), then you may want to separate that out from your code deployment and have it 1) version controlled separately so it doesn't refresh often 2) put it on a different server/host to differentiate static vs non-static.

    If you look at your commit history and you haven't touched whole sections of the repo, why not extract them into a different repo that doesn't get republished everytime?