Forgive my ignorance, but I'm having a difficult time finding an answer to this. We currently use TFS and a TFS Build server. I was looking at other build server options and was wondering if products like Jenkins and Teamcity serve the same purpose as TFS Build.
Basically, a build would be limited to:
- Check out,
- Compilation (or more generally, build, which includes more tasks, such as setting up proper configuration),
- Unit testing,
while continuous integration will walk through the same three steps, plus:
- Integration of the project within the larger system,
- Integration testing,
- (Eventually system testing).
Continuous delivery would add one additional step:
- Packaging of the solution (in a form of an .msi file, a pip package, whatever).
Finally, continuous deployment will do all six steps and additionally:
- The actual deployment of the solution in production.
In practice, there is no strict separation between build and continuous integration for many products. For instance, TFS build is hardly limited to the first three steps. It can perfectly well be configured to do the actual integration, the packaging and the deployment itself, making the terminology irrelevant in this case.
Jenkins is in fact a direct competitor of the build part of TFS. It has the same purpose, and works similarly.
In short yes.
TFS is a broad term for the TFS suite of products that are bundled together, but its basically a version control system and a build server (TFS and TFS Build, if you like).
There are many competing systems, some are bundled together like TFS, some come separately. So a system that used, say, Subversion and Jenkins provides the same functionality as TFS and TFSBuild.
In many respects, the separates is better - you can pick and choose the one that works best for you. Jenkins for example is awesome, or you could pick Mercurial or git for your source control needs. You can then add other features such as a requirements management package, a Kanban workflow tool, a better bugtracker, or a document repository to the suite which you cannot easily do with TFS as it tries to lock you in to its way of doing things.