Click here to Skip to main content
14,459,476 members

Full deployment vs incremental deployment pros/cons

Surender Singh (CodeToastDev) asked:

Open original thread
I work in a team that heavy supports full deployment procedures for .NET application maintenance projects. That means taking everything from TFS, build it and dump it on the Web server. It also requires overloading TFS with keeping every file from website including images, third party dlls, temp files that are not part of source code because that may risk overwriting or deletion during next deployment. It is causing issues like larger downtime, testing, full backups, full rollbacks, configuration issues, unexpected errors. As the project includes 250+ folders, 1400+ files and 80+ DLLs. Every time deployment made, it changes Modification dates on each file and it becomes impossible to validate which file/configuration change caused the problem if it happens and then we have to do full rollback. All our fixes/changes are limited to max 1-2 files or DLLs weekly. I feel Incremental deployment works better in our case, that means compare/validate and replace only the files supposed to be replaced. It also reduce chance of breaking somethings else that was not part of the change release. The only drawback I see that it may lead to differences between TFS and the Server. But the risk can be reduced by monthly file comparisons/audit through tools to check discrepancy if something not checked into TFS that supposed too, which we need to perform activity even with Full deployment procedures.

Please suggest the best possible deployment strategy for our maintenance projects.

What I have tried:

I recommended Incremental deployment procedure to reduce the deployment issues and testing efforts.
Tags: .NET, Deployment, TFS, best-practices


When answering a question please:
  1. Read the question carefully.
  2. Understand that English isn't everyone's first language so be lenient of bad spelling and grammar.
  3. If a question is poorly phrased then either ask for clarification, ignore it, or edit the question and fix the problem. Insults are not welcome.
  4. Don't tell someone to read the manual. Chances are they have and don't get it. Provide an answer or move on to the next question.
Let's work to help developers, not make them feel stupid.
Please note that all posts will be submitted under the The Code Project Open License (CPOL).

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100