How do you deploy only the files that have changed?

The Bamboo Salesforce CI workflow deploys everything listed in the package.xml regardless of whether it actually changed or not. This vastly increases the size and time of the deploy and seems like it can lead to accidental deployments. Is there any way to limit the deployment to only a specific commit (or list of commits)? Before the comments system was changed @Melanie Wright suggested that the scripts written by alexander brett at https// might provide a solution. Was Atlassian ever able to test those scripts or find some other solution?

3 answers

Hi @Melanie Wright, @Aditya Rawat, @Bryan Lucas,

Have provided an explanation of how we do partially deploy here:

Please note that while partial deployments are quicker, it makes it more likely to break things in your environment. This is because Salesforce deployment APIs don't check integrity on the entire metadata when deploying partially. For example you could change the signature of a method in a class and deploy it successfully, however if that method was referenced by another component which is not part of the deployment, you will now know about it at deployment time. Therefore this is practice that might be more suitable upstream (i.e. in your development sandboxes) and should be accompanied by running unit tests, if you have good coverage.

Hi @Bryan Lucas,

We haven't tried out the Sophos scripts yet. Looking forward to spending some time on this in the future.. just not quite there yet. Would love to hear how it goes for you!

We haven't had trouble with accidental deployments much because we can see the diff between what is production vs downstream before we merge the code to trigger a deploy. The changes are nicely highlighted, but there can definitely be xml fatigue where we could miss something. 

@Bryan Lucas / @Melanie Wright I had been looking for the same solution where ideally the CI only deploys the metadata that was added in the recent commit however unable to find the @Alexander Brett's script at ?

I would like to try it out and give my feedbacks.


Hi @Aditya Rawat, checked in with the folks at Sophos and the best way to reach them is to create an issue on their GitHub project. Hope all goes well!

Hi @Aditya Rawat, Were you able to implement the solution to deploy just the committed files? can you pls share your approach on this.

Suggest an answer

Log in or Join to answer
Community showcase
Jason Wong
Published yesterday in Agility Beta

Welcome to agility

Every team in the world is unique, and so   Atlassian believes   that each and every team's best way of working  needs to  be molded to their unique circumstances  – ...

366 views 6 16
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot