If you work on a website , one of the smoke tests for your website could be to check that no links on your site are broken. And if the CI server can do this on every check-in there is nothing better than that as you can keep an eye it for every change. Further repurposing such a test as a smoke test for every deployment or even for monitoring purposes is extremely useful productive - good luck doing this manually (When done on Live make sure there is a filter in Google Analytics for your test machines to be excluded)
Off the many tools available out there, the application at http://linkchecker.sourceforge.net/ seems to fit the bill for CI, Supports several modes see docs for more info
Download it and install it on your development machine
To run the test locally (should install linkchecker-8.1 on the machine), you could run the following command eg."C:\Program Files (x86)\LinkChecker\linkchecker.exe" http://sometesturl.com/ --file-output=html/report.html --recursion-level=-1
This has to be installed on all TeamCity agents. To hook up a build add a build step as below which is equivalent to the command above
This will allow you to hook a build on Teamcity to run a test which spiders through your site checking for broken links.
The command above produces a report with the name linkchecker-report.html in the agents working folder. If you push this html as an artifact and add a report tab on the Teamcity server called “Link Checker Report” for the linkchecker-report.html artifiac, you should be able to see the report after every build is run
For broken links the build will fail as linkchecker will return a code 1 on the command line, for success builds it returns a 0
See below for an example report which uses report tabs on teamcity to show the report