We all know that how easy it is to enable remote desktop and web deploy on azure roles with the help of Visual Studio.
All you need to do it check appropriate check boxes shown in the nice deployment wizard.
But.......
the question is, how can I do it when I am not using VS for deployment or say how can I do it when I am using TFS builds for automated deployments to azure?
Well, this is quite easy.
First, the basics. When you enable the web deploy for the role - all it does it opens up a port (8172 to be specific) on your role so that you can push those files real quick.
Now to achieve this without Visual Studio, all you need to do is, include following optional parameters to msbuild command and you are done.
msbuild /p:EnableWebDeploy=true;webDeployPorts=Your_WebRole_Name:8172 /t:publish Your_Azure_ProjectName.ccproj
I tried integrating this with TFS builds and works like a charm. You can verify it by logging in to the Azure portal and the dashboard of your cloud service shows list of input endpoints available.
Hope this helps someone. Enjoy :)
All you need to do it check appropriate check boxes shown in the nice deployment wizard.
But.......
the question is, how can I do it when I am not using VS for deployment or say how can I do it when I am using TFS builds for automated deployments to azure?
Well, this is quite easy.
First, the basics. When you enable the web deploy for the role - all it does it opens up a port (8172 to be specific) on your role so that you can push those files real quick.
Now to achieve this without Visual Studio, all you need to do is, include following optional parameters to msbuild command and you are done.
msbuild /p:EnableWebDeploy=true;webDeployPorts=Your_WebRole_Name:8172 /t:publish Your_Azure_ProjectName.ccproj
I tried integrating this with TFS builds and works like a charm. You can verify it by logging in to the Azure portal and the dashboard of your cloud service shows list of input endpoints available.
Hope this helps someone. Enjoy :)