Help setting up Azure Web App
# help-with-umbraco
t
Hi Everyone, Hope you're all okay. I was wondering if I could get pointed in the right direction with setting up Umbraco 10 in a Web App. I work as an inhouse front-end developer and my company has set up an Azure Web App for me which uses FTP. This was set up for me to create concepts/demos on an Umbraco environment. What I've done so far: - Installed Visual Studio 2022 - Installed .NET 6 - Installed Umbraco 10 via PowerShell - Configured the corresponding appsettings json files to be compatible for Web App - Published via FTP on VS The website is live and working however I'm not sure how I'm supposed to work in terms of editing code and publishing those changes to the website. I would like to work from VS as I'm going to be trying to master Model Builders and I'll be making custom property editors. I'd like to also know if I'm missing anything while I set things up. Any advice would be appreciated, I have experience with Umbraco 7 which is heading towards EOL and need to get up to speed with Umbraco 10. Thank you so much 🙂 Taz
j
Hi Taz! There's nothing wrong with your approach - this sounds like a valid way to do it. But I agree that republishing the site, packaging it up in full, and updating it via FTP is tedious. I would recommend using an automated deploy service, which vary depending where you're hosted and how much control you have over the environment. Do you have server access to where the site is hosted or is it on a shared hosting service?
p
for sure ask your colleagues how the DTAP street works. Your colleague should look at the changes before they go live (=production). Perhaps your boss bought the DTAP from Umbraco itself, that would make life more easy. Or else you can use uSync which is more complicated and does not work as nice. Umbraco 7 is very much different from 10, no more webconfig and welcome json. Can you start over? Or would much data be lost? Test out much before going live 🙂
a
For easy moving structure changes (Like your document types, data types etc.) I can definitly recommend uSync, this is a plugin that monitors your local changes, creates files for them, so you can easily upload and import those changes on a other environment. Further I can definitly recommend to add some way of DTAP asap, will safe you lots of time in the end 🙂 As its in an Azure App service, you can easily connect it to a GIT repo, and have it auto update on a push to the master branch (for example), worth looking into! Even better (as your already on Azure) is use Azure devops to build a pipeline so you can easily publish a nice little package on your server, also as it builds in the pipeline, any build-breaking things you might've made wont be published, so lthats like a extra safety-check
k
Settings up Azure DevOps to build and DTAP is very straightforward. The OotB build pipe template "ASP.NET Core Web Application" (?) and release pipe template "Deploy To Azure Web App" (?) work for Umbraco. Just configure Umbraco correctly per-environment (appSettings) and configure the ASPNETCORE_ENVIRONMENT correctly on the Azure Web App resource. We do this as soon as there is an Umbraco project and a database to deploy. Saves tens of thousands of hours of work in the end. We also use uSync to deploy all document types etc. Auto-import in Azure. Deploying a new version is literally pushing changes to the environment branch. Saves millions of thousands of hours of work in the end.
d
I just want to add for anyone new to hosting Umbraco on Azure web apps both Azure and Visual Studio will create a Web Deploy Profile at the click of a button. You can even deploy to individual deployment slots e.g. dev, prod. After that, again both Visual Studio, Visual Studio Code will create CI/CD for repos in GitHub using GitHub Actions and Azure DevOps all via the GUI. It is also useful to understand that both CI/CD methods use Web Deploy under the hood which in turn is making use of Kudo. Kudo can be accessed directly from your Azure Web App by clicking on Development Tools then Advanced Tools.
t
No Unfortunately I don't have any access to the Azure Web App configuration and it's quite tricky asking for permissions as I work in marketing and not Technology. I have sort of got GitHub set up privately for me and I'm doing a makeshift source control and publishing changes when something major happens. I'll look into automated deploy service. Tysm for your input 🙂
Thank you this is a great resource. I have experience with uSync. it's what is used for my companies Umbraco 7 environment. The website I'm working on is complex as it has multiple API's set up and the infrastructure is structured over a lot of cshtmls and partial views. The good news is that there's going to be a brand new web build by a third party company. My job is to make demo's inhouse with the intention to advance UX/UI
Thank you I'll try requesting access for control over the Azure configuration
Thanks, looks like from your advice and others I need access to my web server settings to add more functionality. Appreciate the input 🙂
j
If you're on Azure, then I would definitely recommend doing the automated deploy through Azure if you can get the permissions 😄
b
Is there a guide for this ?
k
Not that I know. I've always just created a build pipeline and release pipeline and filled in the correct parameters for each step. For U8 as well as U9+ the OotB pipes work fine.
Most important changes from OotB Umbraco/uSync is: * uSync import everything except content/media (i.e., "settings") automatically on startup in test/prod (and everything in dev) * Umbraco set in "production runtime mode" in production * Azure web app configuration for test/live deployment slots (connection strings etc)
b
I'll try.
7 Views