Has anyone had experience setting up continuous integration and continuous deployment using these tools? I'm working on a salesforce implementation and would like to setup a deployment flow for it. Currently this is what I have.
First, Admins/Developers configure and develop in a share development salesforce sandbox. Secondly, using an eclipse plugin, they download the corresponding metadata and use egit in eclipse to commit and push all the new changes to a repository branch. The third step ideally would be to use Jenkins to communicate with our Git host, Bitbucket, and fetch all the new changes and build a deployment job to move all the new code to a new testing sandbox.
The issue I have so far is that Jenkins fetches the entire repository on the first build. This causes a lot of issues because not all of the metadata needs to be moved and if certain metadata gets moved without any changes it makes the build fail. So ideally I need to figure out a way to start a first build without pulling the entire metadata and only the latest changes in the repository.