How do you deploy only the files that have changed?

Bryan Lucas November 12, 2015

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

1 vote
Amir Shirazi December 14, 2015

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.

0 votes
Harvin Vincent May 23, 2018

Hi,

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

Thanks,

Harvin

0 votes
Aditya Rawat December 3, 2015

@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.

 

Melanie Wright
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
December 10, 2015

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!

HGDevops September 29, 2017

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

0 votes
Melanie Wright
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 12, 2015

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. 

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events