Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at

  • mouseball 63 posts 69 karma points
    Oct 24, 2013 @ 00:44

    Umbraco in enterprise deployment scenarios


    I currently have a challenge around the deployment side of Umbraco - the original intention was to use courier for this however we feel that the product still has a few defects that prevent it from being usable in the short term ( although hopefully in the long term we can utilise courier )

    So the situation broadly speaking is this - I have a complete end to end environment set up...

    Developers all have individual instances of Umbraco on their local machine pointing at a shared dev DB and version controlled under Git  - Tick works fine

    The dev instance is connected to a staging environment - which is a replication of the live environment, currently its a load balancer in front of a little cluster - This works fine also Tick

    This is all in the internal network... now lets hop over the firewall into production

    Here I have an admin server, connected to the live cluster - content administrators make changes on the admin server which then foiolows the internal workflows - tick that would also work fine

    So the real challenge here is how do we keep the developer environment in synch with the live environment?

    What is the best practise approach with no constraints

    What is the best practise approach in a scenario where we are not permitted make any holes in the firewall ( in other words the live servers cannot see the internal network - therefore cannot access the Git or replicate the DB )

    Is a public git repo an option? How do we keep the databases synchronised?

    Many thanks in advance for any advice on this










  • Jeroen Breuer 4866 posts 12165 karma points MVP 3x admin c-trib
    Oct 24, 2013 @ 12:13
    Jeroen Breuer


    Soon you'll be able to use Umbraco as a service:

    A little more info here:

    "You can get started with Umbraco directly from with a click of a button and because of the convenience of automated upgrades, you can focus entirely on making sites rather than installing, upgrading, patching, deploying and all the other time consuming frictions that we’ve come to take for granted in our industry."

    It will also handle deploying for you. You can't use it yet, but I think a lot of developers will like it.


  • Amir Khan 1269 posts 2681 karma points
    Oct 24, 2013 @ 18:47
    Amir Khan

    I'd like to know about options other than Umbraco as a service also, as great as it will be I'm sure. Managing multiple versions of large Umbraco installations has always been challenging.

  • Andy Butland 398 posts 2254 karma points MVP 4x hq c-trib
    Oct 25, 2013 @ 09:46
    Andy Butland

    Definitely for us managing the deployment of database held information - doc types etc.- in Umbraco is the trickiest part of using the product - like you we have evaluated Courier but aren't currently using it due to not being able to be 100% confident in it's accuracy.

    One technique we used recently which worked pretty well was to create a package from our dev environment containing all the changed or added doc types, macros etc. and then install that on the production environment.  We had a lot to deploy, so doing it manually would have been very timeconsuming and error-prone, so we were pretty happy with how well that worked.

    There were a few gotchas though (thanks to my colleagues Neil and Ali):

    • Doc type tab order is forgotten. If you've got any custom tabs, and if the order matters, you'll have to go through and manually set this.
    • Unlike manually creating templates when a file of the appropriate name already exists, in which case the alias is given a different name and a new file created, templates were created correctly - this means you can deploy files first, which you can't do for manual creation.
    • Document.New is run when content is imported. This means, for example, if you've got an event handler which creates default children when a document is created, and such children already exist in the content you're importing, you'll get multiple copies.
    • Content is created as a child of the root node of the content tree - so you'll need to move it to the appropriate place - even if the same parent exists on both sites.
    • You'll need to go through /all/ content pickers and reassign values - both in content and in datatypes such as the multinodetreepicker. You can't really get round the content thing, but you may want to think about using more xpath in your multinodetreepickers if you're going to do this.
    • The latter also applies to Public Access settings. These are stored under node ids in access.config and will need to be reconfigured.

    In terms of code files that's more straightforward, you can use whatever method your servers permit (XCOPY, FTP, Web Deploy etc.).  Our preference here is to use a CI server (Team City) and configure that to pull from our git repo and deploy using Web Deploy to the server.

    Hope that helps.


  • Matthieu Nelmes 2 posts 22 karma points
    Feb 19, 2015 @ 11:31
    Matthieu Nelmes

    Sorry to jump on an old thread but I'd be keen to hear if anyone has had any more luck recently with deployment scenarios.

    Like everyone else, we're incredibly dubious over the reliability of Courier and every method seems to be long winded and manual.


Please Sign in or register to post replies

Write your reply to: