I don't like the deploy.cmd.
I like organizing my codes into different folder docs/ src/
I would suggest a .kudu or .azure or .kuduconfig or .azureconfig.
And please don't make it xml like what most ms config files does :) Either use .gitconfig format or yaml (iisnode) or json (package.json) at root.
This allows you at do lots of customizations not just with pre-hooks. Anyways here is the sample settings file.
webapp:
path: 'src/web'
git:
hooks:
post-receive: hooks/postreceive.cmd
post-update: hooks/postupdate.bash
iis:
netversion: 4.5
webapiapp:
path: 'src/web.api'
git:
hooks:
post-receive: hooks/postreceive.cmd
post-update: hooks/postupdate.bash
iis:
netversion: 4.5
nodeapp:
path: 'src/nodeapp'
git:
hooks:
post-receive: hooks/postreceive4node.cmd
post-update: hooks/postupdate4node.sh
it adds support for multiple apps that are in same repository too. also supports for multiple pre post hooks. for example, i may also want prehooks so if tests fails, it shouldn't deploy/swap. also allows to change certain iis settings like if i want to
target particular .net version and so on.
And also I would love to have bash and those files available for hooks coz bash scripts are also quite powerful. (I just don't like powershell although for certain things it makes perfect sense.)
Also might also want to support importing incase the apps are sub-modules
webapp1:
import: submodule/webapp1