Copied to clipboard

Flag this post as spam?

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


  • Paul Gower 28 posts 74 karma points
    Dec 20, 2016 @ 17:43
    Paul Gower
    1

    Best Practice to Upgrade Umbraco Across Multiple Environments

    I have three environments that I am working with for this current project. We have Development, Stage, and Production. Each environment has its own database so I am curious what would be the best practice to upgrade these environments from 7.4.3 to 7.5.6.

    Please note: I realize Umbraco Cloud would do this for me automatically; however, at this time we are unable to use it.

    Also know that we are currently using FileSystem Publish method via Visual Studio 2015 to move changes to each environment. Any "structural data" changes are being synchronized via uSync and any "content data" changes are being moved manually.

    I have heard that Umbraco Courier would be a good solution to synchronize both structural and content data but we haven't had a lot of content that has needed to be synchronized yet.

    So back to my original question I would like to understand the best practices more experienced umbraco developers would recommend I use to upgrade all three of my environments.

    One more thing to note: Since I am using nuget to install umbraco I read it was best to use nuget to upgrade umbraco.

    Now with this information here are the steps I am planning to take (at a high-level) to upgrade my environments:

    1. Upgrade the development (local) umbraco using nuget to v7.5.6
    2. Checkin the changes into the VSTS git repo
    3. Run the local website to verify umbraco is upgraded to v7.5.6
    4. Deploy to the stage environment via VS FileSystem Publish
    5. Run the stage website to verify umbraco is upgraded to v7.5.6
    6. Deploy to the production environment via VS FileSystem Publish
    7. Run the production website to verify umbraco is upgraded to v7.5.6

    With the above steps my concern is that will the database upgrade changes be applied to each environment using these steps or do I need to use a different approach.

    I would appreciate any feedback or suggestions on best practices of how to upgrade multiple environments when the development environment is using nuget to install umbraco.

  • Sebastiaan Janssen 5060 posts 15522 karma points MVP admin hq
    Dec 21, 2016 @ 07:44
    Sebastiaan Janssen
    102

    The first half of this blog post describes how we detect that your database needs an upgrade after pushing your code to a different environment: https://cultiv.nl/blog/using-umbraco-migrations-to-deploy-changes/

    In short: the upgrade installer screen will run on each environment and DB changes will be applied during that required step.

  • Paul Gower 28 posts 74 karma points
    Dec 21, 2016 @ 16:58
    Paul Gower
    0

    Sebastiaan,

    Does this mean that during the upgrade in production the website will be unavailable or "kick people out"?

    Is there an option or way to do the upgrade without kicking people out of the application?

    Thankfully for now our app is not used 24/7 so we could do the upgrade during off hours or late in the evening but this isn't an ideal long-term solution for our product which is built on Umbraco.

  • Sebastiaan Janssen 5060 posts 15522 karma points MVP admin hq
    Dec 21, 2016 @ 17:09
    Sebastiaan Janssen
    1

    There's no "kicking out", visitors will not be able to browse the site during the upgrade though.

    Website visitors will see the Umbraco login screen while the upgrade is running, it's a long-standing wish of ours to have a more friendly holding screen for that but it doesn't exist.

    Currently it is best practice to set up a seperate IIS site with an index.htm that says something about maintenance.
    You can switch hostnames between that site and your live site while doing the upgrade on the temporary hostname. That way at least your website visitors will not be confronted with the Umbraco login screen.

  • Paul Gower 28 posts 74 karma points
    Dec 21, 2016 @ 18:25
    Paul Gower
    0

    I'm curious how Wordpress does it but this is a work around I can use for now.

    Thanks for the info, Sebastiaan!

  • Paul Gower 28 posts 74 karma points
    Dec 22, 2016 @ 06:50
    Paul Gower
    0

    Sebastiaan,

    I did what I described above in my Stage environment but I get this error when running umbraco from a browser on my machine (not the stage server).

    Install Error

    Any ideas why it would be looking at my local machine and not the web server? Also any chance I can bypass this to get my stage site back up? I see the database migration record is in there for 7.5.6 but I can't seem to bypass because it continues to fail to modify the web.config because it doesn't exist on my local machine.

    Could this mean the permissions on the web server aren't setup correctly for access to the web.config or is it looking on my local machine?

  • Sebastiaan Janssen 5060 posts 15522 karma points MVP admin hq
    Dec 22, 2016 @ 07:28
    Sebastiaan Janssen
    0

    It can't look on your local machine so it seems to be permissions on your stage server. Also check the logs on your stage server.

  • JMC 4 posts 74 karma points
    Dec 07, 2023 @ 22:20
    JMC
    0

    Hello Sebastiaan,

    We are facing a similar problem, but do you know about any documentation/best practices to upgrade the Umbraco version on multiple server setups? i.e. We have a site that uses load balanced and we have 5 servers, one of them is where the database is located, but when we implement the changes on the main server, the replicas will also have the old version in the web.config file and then authorize the upgrade on the main server, but the same version will be on the other servers since the deployment of the changes is through DevOps, so the replicas will throw an error and the site will not be accessible on those servers.

    We are going to upgrade from version v8.18.8 to v8.18.10 which is about to be released

    I hope you can help me!

  • Paul Gower 28 posts 74 karma points
    Dec 22, 2016 @ 13:14
    Paul Gower
    0

    Yea, I don't know what I was thinking...I must have been tired...it's what I get for working so late last night. Of course it is on the stage server.

    I'll check the logs this morning and permissions of the web.config.

    I would be surprised if publishing from VS2015 could have changed permissions. I'm wondering if permissions weren't setup when the site was setup or if they were reset some out inadvertently. I want to prevent this from happening with future upgrades so any suggestions are appreciated.

Please Sign in or register to post replies

Write your reply to:

Draft