skip to Main Content

We have a site design that makes use of modules that are developed separately from the master site. Thru reflection, we pick up the modules when the main app starts.

This works fine in local development and on a normal web server. But in the Azure environment when we try to use FTP to deploy the modules to our Azure-hosted site we are unable to because the main Azure deployment is read-only (because it is running from a package).
Is it possible to not have the main site running from a package? Is it acceptable to run it that way?

Is there another way to deploy Dlls to the Azure-hosted site without having them be part of the main site’s build and deploy? Ultimately we are trying to avoid rebuilding the main site every time we want to add a module.

2

Answers


  1. What can help in this situation is to build and publish the modules using Azure Artifacts.

    There are several approaches please check the best practices page over here:

    https://learn.microsoft.com/en-us/azure/devops/artifacts/concepts/best-practices?view=azure-devops

    Depending on your approach the build, the release but also local development can use these published modules.

    Example

    You can for example use a private nuget feed:

    Publish the modules from your modules pipeline:

    https://learn.microsoft.com/en-us/azure/devops/pipelines/artifacts/nuget?toc=%2Fazure%2Fdevops%2Fartifacts%2Ftoc.json&view=azure-devops&tabs=yaml

    Consume these from visual studio:

    https://learn.microsoft.com/en-us/azure/devops/artifacts/nuget/consume?view=azure-devops&tabs=windows

    And consume them from the website pipeline, this can be a build but also a release if you want to side load them:

    https://learn.microsoft.com/en-us/azure/devops/pipelines/packages/nuget-restore?source=recommendations&view=azure-devops

    To keep a record of what modules are used in the website, I advise to build or release the website if the modules are changed.

    Login or Signup to reply.
  2. our Azure-hosted site we are unable to because the main Azure
    deployment is read-only (because it is running from a package).

    You could set WEBSITE_RUN_FROM_PACKAGE=0in your app setting to make not read only. WEBSITE_RUN_FROM_PACKAGE=1 is read only.

    Is it possible to not have the main site running from a package? Is it
    acceptable to run it that way?

    You could consider switch your deployment methods to Zip Deploy to make your Azure-hosted site not read only.

    enter image description here

    Refer to this doc.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search