I have an Orchard v.1.7.2.0 project, built from source. The website is currently running on Azure Web Sites. I have been deploying to Azure by "Publishing" from Visual Studio based on
this method (scroll to the very bottom for the method I used).

At this time, the site's deployment is not integrated with version control. For version control, I'm using Git with a remote repository on Bitbucket. I would like to integrate version control with deployment so I can rest easy knowing that Azure is always running
my most recent version on Bitbucket.

Azure has a feature which will "watch" my remote repository and publish any revision I push to Bitbucket. This won't work in my case because my repository contains my full source code. My Azure website will not run with a bunch of source code in the
root directory, obviously.

So my questions are these:

Is it a good idea to do version control on the entire solution (rather than just Orchard.Web) and push that entire thing to my remote repo every time I make a change? Would I be safe just doing version control on my Orchard.Web folder?

If it is a good idea to do version control on the entire solution, would TeamCity be a good application for watching my remote repository and when /Orchard.Web changes, pushing the contents of Orchard.Web to Azure automatically?

Does anyone have a good continuous integration recipe for Orchard/Git/Azure? TeamCity is preferable because we already use it for some projects, although these are not Azure-hosted.