Yes, ideally you use something like Team Foundation Server (TFS), due to the range of features it provides you.
Being your personal project (even from your company and/or customers) I suggest using the Visual Studio Team Services or VSTS.
What is the difference between TFS and Visual Studio Team Services? Let’s see some:
TFS is installed on your servers, all configured by you, you need to be responsible for Backups, Updates, etc. Already on VSTS, all this is hosted on the Microsoft Cloud, and is managed by the same, ie Backup, Updates, Installation, etc., is not under your jurisdiction, you do not care about it, and do not have the cost of keeping servers connected, etc.
The VSTS is updated automagically every 3 weeks, without any intervention from you, TFS takes at least 3 months to release an Updates package, that is, the version lag will be much lower if you use VSTS.
Another cool point is that VSTS is free for teams with up to 5 developers, so if you have a small team, its cost will be very low.
Up there, I talked about the Feature Range that VSTS/TFS has, let’s see some of them:
- Version Control (using TFVC or GIT), where you can have unlimited private repositories
- Agile Planning, where you can manage all your tasks, all your Backlogs, and still create links with your commits to have greater traceability of the work you’ve done
- Automated Build, where your project will be compiled by the server, with the latest version of your source code restored, can perform architecture validations, automated tests, quality analysis
- Automated Deployment in all your environments, with approval cycle, etc
- Private Nuget/NPM repository
- etc..
Remember, you don’t just need to work with projects. Net, VSTS/TFS supports basically any language and project, that is, you can work with your projects Java, Android, iOS, among others, including, the compilation and Deployment also work on Linux machines, because you can install a build agent and Deployment on linux machines to meet this kind of scenario.
Another cool point is the integration with external tools, for example, you can integrate a Slack to receive notifications of Activities, Builds, Deployments, you can integrate a Sonarqube to analyze the Quality of your projects, etc.
I’ll leave here for you too, some contents on the subject:
You made use of TFS only for system code or use all functions it has?
– Randrade
I don’t know all the functions, I know some like version control. I know I can access TFS information through a few lines of code, I think I’ll use that to report errors and, if possible, get my project compiled.
– StanleyIPC