I've setting up deployment process for our EPiServer 7 project and am now wondering what is the the best practice from version control and deployment point of view to handle folders modules and modulesbin in project folder and also folders modules and modulesrepository in VPP folder. Opinions, experiences?
Good questions, I'm in those questions myself after a couple of upgrades recently.
This is how I did, in this example I update to EPiServer 7.1 (latest UI):
First, all developers are running against a shared database and a shared VPP-folder on a NAS.
* Make sure that the files in the folder /modulesbin are writeable. TFS makes them read-only untill you do "Checkout for edit"
* Update to development environment by browsing to the add-on area.
* Checkin the new modulesbin folder.
* Tell the developers that aren't using the shared VPP (if any) to update their files.
* Deploy as usual to server so the /modulesbin files are replaced
* Manually replace the Modules and ModulesRepository in your VPP-directory with the files from your development environment.
Version Control on the Modules and ModulesRepository and set a local folder to physicalPath would be an improvement.
If you're running TFS, remember to make them readable every time you want to do an update or similar.
Some modifications would be needed if you have a some kind of automatic deployment considering IIS seems to lock those folders while running. For example define that VPP-folders for content is placed in folder A while VPP-folders for the modules are placed in folder B where folder B is deployed in your automatic deployment.