Every month, Sitecore brings together developers from across the North West to share learning's and discuss their experiences of working with the platform.
As Sitecore partners, we’ve been involved with plenty of these meet ups in the past, and so were pleased to not only host, but also present at, the latest user group event.
In July, Computerlovers’ Richard and Ben talked about what it’s like to work with Sitecore in an agile environment whilst adopting a continuous delivery approach.
9. Lots of good stuff out there
Recent User group presentation & blog posts
Lee Cook (Aqueduct) Continuous Delivery
Kern Herskind - Exploring Sitecore Item Serialisation
Alexander Doroshenko - Sitecore Continuous Deployment: From Zero to Hero
10.
11.
12. It fits with our Agile approach
Reduce Cycle time
Takes the pain out of releases
Automating the mundane leaves more time to innovate
Continuous Feedback leads to Continuous Improvement
13.
14. 2 week Sprint Cycle
Deploy to UAT at the end of the sprint
Automated Functional & Regression
Tests
Client Approval
Deploy to Production
16. Team City Build Server
Solution built on every check-in
Run Unit Tests
Run Functional Tests
Alert dev team on failure
17. Visual Studio, SlowCheetah, Config
Transforms
NUnit
SVN (Moving to Git)
Team City
Nant, Powershell, Psake, Powercore
Sitecore Courier
Octopus Deploy
18. Cucumber
Capybara with Selenium 2 (webdriver)
and Poltergeist drivers
Selenium grid 2 hub/nodes for
testing in parallel against both
desktop and mobile browsers.
19.
20. Code is the easy part
Config transforms
Multiple environments
Different Server Profiles (CA/CD)
Code reliant on templates/content
items
21.
22. Add Transforms to any xml file
Preview Transformations
Transforms run at build time
Works with Octopus Deploy
23.
24. Any config file will be merged at
runtime – transform files will break
Sitecore
3 Options:
Maintain config per environment
Manipulate with Powershell
Single transformation file run against
all .config files in includes folder
25.
26.
27. Manually create and install packages
Automate Package creation installation
TDS
Unicorn
Courier – more on this later
28.
29. Cruise Control
Nant Build Scripts
packaged executable
Nant Deploy Script
Custom config replacements per environment
Manual Package creation
All templates and layouts
Slow prone to errors
30. Team City
Octopus Deploy
Packages
Sitecore courier + custom pipeline
Creates update packages delta changes
Reduce package size
Quicker to transfer
Quicker to install
Quicker to publish
31. Introduce internal QA environment
Allows existing and new process to run in parallel
Test deployment process
Introduce more functional testing
39. Templates & Layouts serialised to disk automatically on save/move/delete
Item’s checked into source control with code
Build runner generates a differential package against release tag
Update package included in the nuget package
Deployed and installed as part of release to each environment
Release tag updated after release to production
Next sprints work differential against last release
40.
41.
42. Courier called using PSake via Runner. Build Parameters can be passed or use
defaults
43.
44. Courier can install any item Templates, Layouts, System Items and Content
Items
But should you?
Risk of overwriting user content
Content packages created and installed manually
Use defensive coding – If a sublayout requires a particular content item that
isn’t deployed then hide the component
45. Localised developer serialisation folders
Committed to Subversion/Git
Differential package generated using Courier and Serialisation tag
Sitecore Serialisation Issues
Path Length
46.
47. Moved to Team City
Automated Deployment Steps through Octopus to QA
Deployment time down from 4hrs to approx 1hr
Per sprint saves approx 1 day developer effort.
Bolstered internal Testing Suite
Reduced Cycle Time for issue resolution
48. Git – Feature Branching
Automated deployments to Oxfam environments
Automatic load balancer switching – zero downtime
Increased flexibility to release
One click deployment
49.
50. SDN (http://sdn.sitecore.net )
Team City (http://www.jetbrains.com/teamcity)
Octopus Deploy (http://octopusdeploy.com)
SlowCheetah (http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-
7e854ba318b5)
Sitecore-PowerCore (https://github.com/adoprog/Sitecore-PowerCore)
Sitecore Courier (http://sitecorecourier.codeplex.com)
Sitecore Continuous Deployment: From Zero to Hero
(http://sitecoresnippets.blogspot.co.uk/2013/05/sitecore-continuos-deployment-from-
zero.html#.Ueahq_nVDzw)