I've been reading a few related forum posts on this, but I haven't quite found a satisfactory answer. I'm interested in hearing what might be some best practices for managing, developing, and deploying customizations for Sitefinity 5.x for EXISTING sites.
In my case, we have our own dedicated web servers (so, it's NOT shared hosting), so we have full access to IIS, file system, databases, etc. When we released our 5.3 site, we pretty much copied the whole development folder, including source code and compiled binaries, backed up and restored the SQL database onto production SQL server, and ensured all configurations were updated accordingly.
While that approach worked fine in the end, it wasn't really very clean. The production site now has includes all .cs and .designer files, which aren't really serving any good there, and they're just cluttering things up. There are also various Sitefinity migration packages in the root ("Module3.7_xx_xxx.zip") which I assume are to do with the Migration Tool? Makes me wonder if they should really be preserved in a production site, once it's gone live (and after you've presumably already done a migration from 3.7, if any).
On the Visual Studio 2010 side, there is "Publish Profiles" functionality and ability to configure one-click publishing to the production server through a file system network path. But doing so might overwrite necessary things, if one is not careful. But the nice thing about this form of publishing is that it would strip out all source code files and leave only what's needed to actually RUN the finished site. Or is it not advised to deploy the package directly to production? If so, how then?
So... All these things in mind, what are some of the best practices out there for managing a clean production site, plus a separate development site, with ability to move things into production QUICKLY and EASILY?