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//github.com/sophos might provide a solution. Was Atlassian ever able to test those scripts or find some other solution?

4 answers

This widget could not be displayed.

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

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

https://github.com/sophos/App-SFDC/issues/1

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.

This widget could not be displayed.

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. 

This widget could not be displayed.

@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 https://github.com/sophos ?

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.

This widget could not be displayed.

Hi,

Anybody implemented the solution to deploy just the committed files?  if yes can you please share the implementation.

Thanks,

Harvin

Suggest an answer

Log in or Sign up to answer
Atlassian Summit 2018

Meet the community IRL

Atlassian Summit is an excellent opportunity for in-person support, training, and networking.

Learn more
Community showcase
Posted Friday in Bitbucket

What is your #1 piece of advice to new users getting started using Bitbucket?

Hello Community! My name is Claire Maynard, and I’m a Product Marketing Manager on the Bitbucket team. I’m interested in hearing what advice or tips you have for new users getting started on ...

141 views 6 2
Join discussion

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