I spent a fair amount of time on different social media channels like Twitter (@renevo)and LinkedIn and I noticed an interesting thing. Every time someone posts a Top 10 of things or tips it receives a lot of positive comments.
It is a fact. People like lists and I tend to think that technical people even more like lists than others. So I thought, what the heck! Let’s give a try!
So here we go. A top 10 of things every TFS Administrator should do on daily (or weekly bases)
1. Check the check-out history for long running pending changes
Not everybody is so well organized that they check-in their code every day, and besides that, TFS checks out files (project files/solution files) automatically and they tend to “hang around”. Check if there are files that are checked out longer than e.g. 2 weeks (or whatever time you take) and ask the responsible persons to either check-in or undo. You can use the suberb tool TFS Sidekicks from Attrice for this.
2. Check the status of the TFS Warehouse and Cube
It happens that the warehouse does not run. It can have all sorts of rasons. Job not running, Analysis Service offline, Plain Errors. Just check the rundate of the warehouse jobs before users start complaining about outdated reports.
Open a browser in Administrator mode and navigate to
Choose GetProcessingStatus and fill in the following values
- serviceHostName = CollectionName )(e.g. DefaultCollection)
- includeOnlineHostsOnly = true
Press invoke and you get a nice overview of last executiondates and nextrunning dates.
If you want to manually refresh the warehouse you can use this service as well. Read MSDN for instructions on doing this
3. Check the TFS Alerts
Check the TFS alerts to see if everything is still running fine. Easiest way to do this is to have a special “TFS ADMIN” Team Project that you use to validate stuff. Just create a new Work Item Alert in this project that sends you an email when a new work item is created. Create a work item and see if it pops up in your mailbox. How to create alerts you can read here.
If you don’t want to wait you can change the interval of handling events. Read all about that here. (not always the recommended choice to do this. The intervals are there for a reason)
4. Check the TFS Build machines
Check if your build machine( s) are still running. Use you “TFS ADMIN” Team project to create a simple build that only builds a class library. Fire this build manually or schedule it daily/weekly. When it succeeds you know that the build infrastructure is still OK
5. Check the build status of the last builds
Check the status of the builds of last week. Do you see trends? Are a lot of builds failing? Do they succeed again. You can easily build a small report that reports your build status regardless of the Team Project they are in. When you see a lot of failed builds, you can dive deeper or just hint the responsible person to fix it…
6. Check the number of work items that were changed
In your “TFS ADMIN” Team Project create a simple work item query that checks how many work items changed last xx days or create a SSRS report for it. If this increases or decreases dramatically then you can dive further. Maybe an automated process is creating work items.
7. Check the event logs
Rather obvious but.. Check the event logs on the application server. Sometimes it contains useful information about process that have errors or warnings. Probably you can leave 95% to the IT Pro’s but the 5% that is interesting might have that bit of information you would like to see.
8. Check for dead workspaces
Another check for cleaning up. You can use TFS Sidekicks as well for this one. Just check the workspaces that are created. Which users have workspaces? On which computers? Do they follow the naming convention? Did they create a new workspace for every project or do they only have one? Are they still necessary? Tips on workspace you can find in one of my previous posts (part 1 and part 2)
9. Check the drop folder size
This one gave me a lot of trouble. The drop folder. Builds are running and dropping stuff in the drop folder. If the retention policies are not set up correctly or if you have a lot of builds the folder can grow fast and becomes large. Check this and make sure the drop folder has enough space. Also check the retention policies.
10. Clean unnecessary Test Attachments
If you use Test Manager, and use videos etc. the TFS database can grow really really fast. For this purpose the Test Attachment Cleaner has been created by Microsoft as a powertool solution for this. (some more description you can find here)
I made it ! Ten things !
If you have other tips I would love to hear them, so bring the comments up !
As a starter, fellow VS ALM MVP Michel Perfetti wrote a great follow up post.
For an awesome overview in maintaining your TFS server, follow this great post by Grant Holiday
Hope this helps !