We have recently upgraded to Octopus v2018.7.7, but we have run in to a major issue with the way that Azure Web Apps are now deployed. I sincerely hope that I’m missing something, but I fear not.
Previously (sorry, don’t know the old version) we were able to specify
Azure and Web App settings within the Deploy an Azure Web App step, and it was perfect as it allowed us to dynamically set things like a Web App Name (Function Apps in our case) and the Resource Group.
Now it seems that we have to add Azure Web App targets and pre-specify both the Web App Name and the Resource Group. This is hugely undesirable for the majority of our projects, and simply not possible for the others.
Currently when deploying our Web Apps we have a two step approach -
- Use the Run an Azure Resource Group step to create a Function App and any associated resources. This seems unchanged.
- Use the Deploy an Azure Web App step to push the contents of a NuGet package to the newly created Function App.
So our problem is two-fold -
- For projects where we know in advance what environments should exist, in the first instance we’d have to create an Azure Web App target for each environment. It means that we’d have to manually create a Function App in every environment so that we can create target for it, which would be a very laborious process, and destroys the entire point of automation via Octopus.
- For projects where we utilise dynamic environment naming, I can’t see that it’s possible for us to continue using Octopus. Our larger projects require us to create an environment (including various Function Apps) based on the name of Git feature branch being deployed. It’s therefore impossible for us to know in advance what it will be.
Note that previously configured deployments still work, so as an emergency I could look to clone on of them, but I’m guessing that this legacy functionality will be removed in the future.
As previously mentioned, I hope that I’m missing something on the updated version, so any advise is welcome.