2

In setting up Sitecore 7.2 at my organization for our public facing .com I have run into a hiccup while trying to implement proper CI, Release Management, and Deployment Management. I am able to, using MSBuild, compile my Sitecore MVC code, compile .update packages from TDS, and package each of these in .nupkg files for Octopus Deploy. What I am running in to is that once I have deployed the MVC code I must also deploy the Sitecore Structure/Content which requires me to install .update packages. I have tried the solution provided at https://github.com/adoprog/Sitecore-Deployment-Helpers but for a fairly lightweight site this is timing out around 20 minutes within Octopus Deploy for only my System package, let alone having not touched Structure or Content. I am looking for a way, preferably through PowerShell (not strictly speaking, the Sitecore PowerShell Extensions built into the sitecore web interface after installing that package). Using the SPE would be acceptable if, and only if, I can use SPE's Cmdlets from Octopus Deploy's PowerShell workflow.

Please Advise.

  • 1
    I've been using [Sitecore.Ship](https://github.com/kevinobee/Sitecore.Ship) invoked via a Powershell Script from Octopus deploy. How big are the packages, approx how many items are there? Is it taking a long time to install via `/sitecore/admin/UpdateInstallationWizard.aspx` as well? – jammykam May 01 '15 at 12:48
  • As update packages grow, they can get get unwieldy to install. In addition to Sitecore.Ship, you may want to also look at using [Sitecore-Courier](https://github.com/adoprog/Sitecore-Courier) to trim down the number of items being deployed. It basically will do a diff and only deploy that changes. – Derek Dysart May 01 '15 at 14:08

2 Answers2

0

Jason Bert has a great series of blogs on using Octopus Deploy with TeamCity and TDS for deploying to Sitecore instances:

http://www.jasonbert.com/2013/11/03/continuous-integration-deployment-with-sitecore/

You can also use TDS itself to deploy the items in the solution, but this uses direct calls to a webservice on the target Sitecore instance which may not meet with your requirements.

Also, are you deploying the entire System tree? 20 minutes to deploy changes made to the System tree seems unusual, unless you've made a LOT of changes in there (for example, the Dictionary). Even then, you shouldn't be source-controlling author content, only the elements crucial to the solution that are owned by development.

Jay S
  • 7,904
  • 2
  • 39
  • 52
  • In Dev/QA/Staging environments Content is being periodically populated back down to TFS from Production as Content will never be published through Octopus Deploy to Production, but given that we have 4-5 developers building in individual VMs with their own MASTER databases it was decided by our original architect to publish the entirety of System, "Structure" (Layouts and Templates), as well as TDS Content to Dev/Integration, QA, and Staging environments to ensure 100% consistency. I'm gladly open to better suggestions. – Michael Schlies May 07 '15 at 01:17
  • My suggestion here would be to have TDS tracking only the changes for the solution, and using SQL Server backups of production data to re-baseline other environments. Restore from backup, then deploy the TDS solution and you should have Production + Current Dev changes. Alternatively, you may want to look at Sitecore Courier which packages up only the changes that have happened since the last package. – Jay S May 07 '15 at 09:16
0

You can install the update package via sitecore utility at /sitecore/admin/UpdateInstallationWizard.aspx

If you experience that installing the package via this mode takes a lot of time, you might want to modify the Deployment Property Manager settings for the TDS project.

You can do this by right clicking your TDS project in Visual Studio and selecting "Deployment Property Manager".

enter image description here

Once the Deployment Property Manager window opens up, set the Deploy property to Once for every node which does not need to be updated. For any items which are to be updated, mark them as Always.

enter image description here

This will drastically save you on the time required to install the package.

shivam
  • 161
  • 1
  • 11