23

I have a solution with multiple web projects. I want to run them inside Azure Websites, each as a separate website, from the same Git repository.

How do I specify which website runs which web project?

AppHarbor handles this with multiple solution files named after the applications, containing the respective web project. I cannot find anything about Azure websites.

3 Answers 3

44

Now it is as simple as using App.Settings instead of a .deployment file.

This also allows for multi-project solutions in one Repo, so for example, if you have a WebAPI and a Web App in one solution you can configure an Azure Web Site to deploy a specific project. like so:

Azure App.Settings Example

Source: https://github.com/projectkudu/kudu/wiki/Customizing-deployments#using-app-settings-instead-of-a-deployment-file

I have tried this and works a treat.

Sign up to request clarification or add additional context in comments.

6 Comments

Is it possible to specify a supporting library project?
@LiamB - My WebAPI has project references with two of my .NET Class Libraries which work with no additional configuration from Windows Azure / deployment point of view. If that is what you mean?
Yep thats sorted it - one of my ref's got corrupted. thanks for coming back to me though.
Better solution than .deployment file
Definitely my preferred solution though it appears to break with recent changes associated with ASP.NET Core projects which use a new project file extension of .xproj. When using the PROJECT app setting as above to point to a .xproj file the deployment fails with the following error: "The specified project 'D:\home\site\repository\FloatPin' is not valid. It needs to point to either a csproj/vbproj file or to a directory.". I tried pointing just to the directory with no joy, same error. Hopefully Azure CI/CD will catch up with ASP.NET Core quickly so we can get this working again.
|
6

You will need to work with 2 different branches combined with a .deployment file.

So the first branch could have something like this in the .deployment file:

[config] project = WebProject/WebProjectA.csproj 

And branch 2 something like this:

[config] project = WebProject/WebProjectB.csproj 

Comments

3

I came across a good blog post that describes how to do this using a custom deployment script. It is a bit fiddly but is a workable solution until something better is added.

http://blog.amitapple.com/post/38419111245/azurewebsitecustomdeploymentpart3

Edit:

This one is even better and allows you to do it with a couple of extra files at the route of your repo:

http://www.devtrends.co.uk/blog/azure-web-sites-git-deploy-for-multiple-project-solutions

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.