Hi. I have a question for everyone working with Umbraco Cloud that I can’t figure out. How do you work with release branches? Let me explain:
I have x changes in the Development environment that has not yet been pushed to Stage (QA testing).
Then I have x changes in Stage that has not yet been pushed to Live (acceptance testing).
Now, let’s say the client calls and say they found a bug in Live that needs to be fixed ASAP. But the changes in Development and Stage are not ready for deploy to Live, since they have not been tested yet. How can I fix the bug in Live without also pushing my other changes to Live?
What we do in our non Umbraco Cloud projects is that we have release branches. So in this setup we would have release/1.0.0 in Live and release/2.0.0 in Stage (and Development is just our develop/master branch). So to fix this bug we would just checkout release/1.0.0 and fix the bug, push that to stage where we can test it and then on to Live. Then, we push back release/2.0.0 to Stage and develop/master back to Development. This is handled with Team City and Octopus Deploy.
I’m thinking I must be missing something obvious since surely this must be a feature needed in every project and Umbraco Cloud is quite big now.
Hi Bo.
Thanks, totally missed this piece of documentation. It’s not exactly release branches but at least now I know how to do hot fixes on specific environments.
It's also something i've missed, but i am falling over this.
Make sure that the changes you push directly to your Live environment
are already pushed to the Development environment. This will ensure
that your environments are kept in sync.
Do your stageing and developement environment also need to be in sync then?
I’m guessing they mean that the hotfix cherry-pick you push to Live also needs to be pushed to Stage, and then Development. Otherwise your hotfix on Live would get overridden when stage goes Live.
Working with release branches in Umbraco Cloud
Hi. I have a question for everyone working with Umbraco Cloud that I can’t figure out. How do you work with release branches? Let me explain:
I have x changes in the Development environment that has not yet been pushed to Stage (QA testing).
Then I have x changes in Stage that has not yet been pushed to Live (acceptance testing).
Now, let’s say the client calls and say they found a bug in Live that needs to be fixed ASAP. But the changes in Development and Stage are not ready for deploy to Live, since they have not been tested yet. How can I fix the bug in Live without also pushing my other changes to Live?
What we do in our non Umbraco Cloud projects is that we have release branches. So in this setup we would have release/1.0.0 in Live and release/2.0.0 in Stage (and Development is just our develop/master branch). So to fix this bug we would just checkout release/1.0.0 and fix the bug, push that to stage where we can test it and then on to Live. Then, we push back release/2.0.0 to Stage and develop/master back to Development. This is handled with Team City and Octopus Deploy.
I’m thinking I must be missing something obvious since surely this must be a feature needed in every project and Umbraco Cloud is quite big now.
Or do you not have bugs in your projects? :)
Cheers!
Hi Dennis,
Have you had a look at this: https://our.umbraco.com/documentation/Umbraco-Cloud/Deployment/Hotfixes/Using-Git/ ? :-)
Haven't tried it myself, just stumbled upon it in the docs.
All the best,
Bo
Hi Bo. Thanks, totally missed this piece of documentation. It’s not exactly release branches but at least now I know how to do hot fixes on specific environments.
Great stuff!
It's also something i've missed, but i am falling over this.
Do your stageing and developement environment also need to be in sync then?
I’m guessing they mean that the hotfix cherry-pick you push to Live also needs to be pushed to Stage, and then Development. Otherwise your hotfix on Live would get overridden when stage goes Live.
is working on a reply...