We currently have a "fairly" CI agnostic MSBuild script that is being built on TeamCity.
The script does the following:
- Versions the assembly attributes using the TeamCity build number
- Compiles the solution
- Runs a set of unit tests using NUnit
- Runs a set of acceptance tests using NUnit and SpecFlow
- Generates some documentation using Pickles
- Stores the artifacts
- Labels / Tags the revision in GIT with the current build number
I say "fairly" CI agnostic because there are a couple of places we publish content to TeamCity via the MSbuild message task.
We have now been given direction from the business to move the build and source from GIT to TFS. The last Microsoft source control I used was SourceSafe and I have no experience with TFS as a CI server. I want to know if we can keep the MSBuild script as agnostic as it currently is and still achieve the same functionality it has now.