Derek Dysart

Derek Dysart

Periodic notes from an independent Sitecore Developer/Architect

April 2017
« Nov    


Using TDS Delta Packages in automated builds

Derek DysartDerek Dysart

If you’ve used Hedgehog’s Team Development for Sitecore (TDS) in a CI/CD environment, you’ve undoubtedly felt your initial joy of having Sitecore items automatically deploy to your various environments quickly turn to pain when you realize how long deployments take. For every deployment, every item is processed during every deployment. Every. Single. Time.

One of the more anticipated features of TDS v5.5 is delta packages. Instead of including all items in an update package, TDS will only include items changed since a certain date. I downloaded and installed the update, and opened my solution, only to find the “Include Items Changed After” setting was at the project level, and was basically static. While this is an improvement, I’m still stuck having to increment that date after each successful deployment. A bit of discussion in the #TDS channel of the Sitecore Slack Community, it was suggested a value can be passed as an MSBUILD parameter.

After digging through the scproj files and the TDS build targets, I found that you can indeed pass this date as a parameter to MSBUILD:

MSBUILD MySolution /p:IncludeItemsChangedAfter=2016-04-06;Configuration=Produciton /t:Rebuild

Obviously, I’m going to leave how to calculate the date to pass as an exercise to you, dear DevOps reader, but going off of the last successful deployment wouldn’t be a bad start.

Independent Sitecore developer. I also blog about other stuff from time to time.