Hello,
First of all as someone who deploys both IaaS and PaaS (moving more towards PaaS) let me say i am glad Octopus is improving its ability to deploy to the cloud. I was rather excited when I read the .5 release notes.
After installing (.5.1) and having a play around i would just like to raise some issues I have when using the new Azure Web App deployment targets. For some context I will try and explain my current setup and how we use the (old) Deploy Azure Web App step. We have a project in Octopus called DAM, Environments called Dev, UAT and Live, and Web Apps in Azure called Dam-Dev, Dam-UAT and Dam-Live. We also use channels for different releases currently 260,262 and 264.
Using the new deployment targets I can create a target for each of the Web Apps and scope them to each of the environments. Perfect. However the issue is when we throw channels and slots into the mix.
Dam-Dev has a slot for each of the channels (260, 262, 264). Currently the Deploy step is not bound to a single web app but is as dynamic name: #{AppName}(#{Octopus.Release.Channel.Name}). The AppName resolves to Dam-Dev and the channel name is the same as the slot name. Therefore I can have 1 deploy step to deploy to cover all channels, based on the channel. For UAT the AppName resoles to Dam-UAT etc.
Using the deployment targets I can only scope 1 web app to an environment. Therefore I can target Dam-Dev/260 OR Dam-Dev-262 and scope it to Dev. But all the channels will deploy to that 1 webapp.
On the UAT environment we deploy to a Staging slot then use a power shell script to swap into production. The deployment target for the UAT environment can be Dam-UAT/Staging and it will still work.
Is there anyway we can target a webapp (Dam-Dev) and then in the deployment step target a slot within the web app using the same bind/unbind feature?
Thanks
Scott