Search code examples
azuredeploymentazure-web-app-serviceazure-deployment-slots

Azure App Service - Setting up Deployment Slots for existing App Service


I have an existing App Service created in Azure, which has a connection string linking to the database, 'Easy Tables' configured, and a whole bunch of custom API methods and table definitions done via the 'App Service Editor'.

I'm at a stage in development where I need to use deployment slots, in order to have separate environments for development, test, and eventually live.

On creating a deployment slot, I have the option of 'Configuration Source' - where I can clone an existing application. I select my existing app when I choose this option, however my Easy Tables or API configurations are not carried over with it, and it appears I need to set them up again?

Considering that I already do have everything set up in the App Service, how can I transfer the Easy Tables and API methods over to the new deployment slot without recreating each file one by one.

The end goal that I am trying to achieve is an exact duplication of my current web app - pointing to a separate database, having it's own collection of API calls and easy tables - all using the existing app as a starting point, with a URL different to the existing app.


Solution

  • however my Easy Tables or API configurations are not carried over with it, and it appears I need to set them up again?

    Answer in short yes. According the Set up staging environments in Azure App Service, we could know the if we choose WebApp as Configuration Source, it copies the configuration info such connectionstring setting, appsetting etc. not the content of the WebApp.

    There is no content after deployment slot creation. You can deploy to the slot from a different repository branch, or an altogether different repository. You can also change the slot's configuration. Use the publish profile or deployment credentials associated with the deployment slot for content updates. For example, you can publish to this slot with git.