How do I avoid deploying from scratch on my first deployment?
Selecting a specific revision for your server in your environment
When you setup a new server in Beanstalk, the first deployment will always be deployed from scratch. This means Beanstalk will take all the files in the repository and upload them to your remote server. This is done to ensure that your Beanstalk repository and files on your remote server are in sync. Beanstalk will memorize the revision that was deployed and all future deployments will be done incrementally from that revision.
While this works great when your remote server’s directory is empty, for those customers who already have the files already on the server, it can cause issues. For this reason our deployment tools allow you to choose the most recent revision that exists on your remote server from which Beanstalk will start deploying.
For example, say your repository is currently at revision 250. All the files up to revision 250 are already on your remote server. You want to setup a new deployment server in Beanstalk, but you don’t want Beanstalk to re-deploy all those files that already exists on your remote server. To do that you would need to set revision 250 as the starting revision on the setup page. After that is done, Beanstalk will assume that your remote server is up to date to revision 250, and will only deploy incremental changes starting from revision 251.
Please note, leaving Beanstalk to deploy from scratch will not break anything. If you have all the files on your server, it will just take longer for us to deploy. It may, however, bring something on your site offline depending on the way your web server is configured.