TeamCity’s server-side code inspection at your side
TeamCity has an unparalleled variation of means for maintaining code quality:
- search for duplicated pieces of code for Java and .NET projects (.NET support is now available in TeamCity 3.0 EAP)
- server-side code inspection of Java code (more than 600 IntelliJ IDEA’s inspections are used)
- analysis of Java code covered by unit tests
With server-side code inspection the whole project codebase is tested as often as you need. The developer’s machines are kept free, so no real development time is stolen. All the developers’ changes to the source code are integrated into the codebase are checked to make sure that they conform to coding standards and guidelines. Besides, TeamCity detects probable bugs, pieces of “dead” code, performance issues and supports many technologies including EJB, JSP, and JSF.
To inspect your code remotely on the server-side, set up a build configuration with the Inspection build runner and point it to the IntelliJ IDEA project file (the detailed procedure is described in TeamCity reference):
After the build is completed on any of the preconfigured build agents, TeamCity allows you to review the inspection results in the web UI (the build results page, on the Code Inspection tab). You can then quickly navigate to the file containing the issue found in your IDE (IntelliJ IDEA and Eclipse are supported).
You have the option to browse all or only newly introduced code problems as well as filter the problems considered errors.
The server-side inspection results can be downloaded into IntelliJ IDEA, thus, you don’t need to switch to TeamCity’s web interface to review the code inspected: from the TeamCity menu, choose Code Inspection. Then you can view the inspection results in the editor and apply quick-fixes (solutions for discovered problems) or work with inspection results in a toolwindow. It’s up to you and depends on your IntelliJ IDEA working habits.
To sum things up, the server-side code inspection has a number of pros:
- developer’s machines are not slowed down and the feedback loop becomes much shorter
- project code quality is maintained during the project’s entire lifecycle
- integration with IntelliJ IDEA provides ideal web-IDE navigation possibilities
- quick-fixes let you solve most problems on-the-fly
View the example of server-side code analysis at our demo site.