Archive for January, 2008

Build triggering: already existing and more upcoming in TeamCity 3.1

Thursday, January 31st, 2008

A flexible system of different build triggers in TeamCity allows to start the builds when it’s really necessary rather then use your company’s hardware resources at their most - running multiple builds at the same time and making you wait for the feedback on changes’ integration results.

Let’s now take a look at how TeamCity can help to “tame” builds clutter.

The most common case of firing a new build - changes committed to the version control system - can be altered by specifying a “quiet period” - time to pass with no changes in the build configuration VCS roots before TC starts a new build. In addition, you can use wildcards and operators to exclude parts of the VCS roots and ignore commits of particular users.

It’s quite common for many companies to create new builds periodically. In this case TeamCity can still limit the builds number if there are no changes pending to be built.

In TeamCity 3.1 which we plan to release soon, we’ve implemented more flexible build triggering options using Cron Expressions for more precise schedule tuning:

cronexpressiontrigger.jpg

You can also specify to start a new build when a successful build of a dependent build configuration appears or when the previous build has failed.

In-depth build triggering options are, as usual, explained in online reference.

Technorati tags: , ,, , , , , , ,

Custom data publishing in builds’ results

Friday, January 25th, 2008

When we just started developing TeamCity, we decided to make it as open and easy-to-contribute as possible and allow anyone to develop and deploy custom server-side and build agent’s plugins and extend it in different areas to fit the needs of a project and team.

Let’s dig into adding custom reports into the most frequently accessed place in TeamCity’s UI – Build Results page. This can be easily done by:

  1. specifying a report as a build artifact
  2. modifying the build configuration so that TeamCity displays a report when a new artifact

And voilà! you get brand-new tab on the Build Results page showing your report.

Besides, it is possible to modify the builds’ status information and the status text.

For the builds’ statistics feature, which appeared in TeamCity 3.0 , you can add custom statistic graphs. Just provide the required data in teamcity-info.xml and describe the new graphs in main-config.xml file and access new statistics charts in the Statistics tab of the build configuration page.

Bluewire Technologies (thank you very much again!) has recently shared their experience on including third-party reports in the Build Results page and publishing custom data from the build i.e. number of unit tests which have passed or failed.

More details on customizing the Build Results page are as usually available in TeamCity online reference.

Technorati tags: , ,, , , , , , , , ,

Pre-tested commit via your IDE of choice…

Thursday, January 24th, 2008

We wrote about the pre-tested commit quite a time ago, and we are sure that many developers use the feature though we would still like to point out at some of its pros again and share the feature reviews which appeared recently.
To begin with, let’s state these quite common issues which many developers encounter every day:

  • unit tests if run locally can take very long
  • when submitted to the project repository, tests can break the build, and the team’s work can slow down

When we developed the concept of pre-tested commit we decided to have the things go its usual way: you code in the IDE but the standard scenario of testing your changes is changed. Pre-tested commit lets you run a full build with tests on some of TeamCity’s Build Agents. Builds created during pre-tested commit are tested across multiple platforms and test suites.

This is an IDE-independent operation that frees your computer’s resources and imitates checking in your changes but does not upload them into the version control until the build is successful. Meanwhile (while your build is created) you can modify the same piece of code, add new tests, and so on.

If some other team member commits changes and they conflict with yours, the IDE shows a warning, and the commit is not performed.

The build may fail, though all tests pass, and you can force commit your changes but still be sure the situation is under control because the integration plugins remember your code state when a pre-tested commit was initiated.
Performing pre-tested commit you always have clean code in the code base and spend less time to discover the integration issues and the project just moves on in its rhythm.
At the moment you can perform pre-tested commit (with slight differences) from three IDE’s:

If you are still thinking whether to upgrade to TeamCity 3.0 we want to persuade you to use it as we have expanded the support of the .NET platform developers: Subversion is now supported. IntelliJ IDEA 7.0 users can perform pre-tested commit to StarTeam and IBM Rational ClearCase (Base + UCM). And finally, we have many plans on extending the feature support.

You may also want to take a look at Roy Osherov’s TeamCity review and read the pre-tested commit description by the absolute insider – Kir Maximov – in his blog post.

Technorati tags: , ,, , , , , ,

TeamCity - a finalist of the 18th Annual Jolt Product Excellence Award!

Friday, January 11th, 2008

TeamCity and IntelliJ IDEA have been announced the finalists for this year’s Jolt Product Excellence Awards - an annual showcase of products that have the biggest impact on the software industry allowing to create software faster, easier, and more efficient.

TeamCity is nominated in 2 categories, namely, “Collaboration tools” (we were the winners in this category last year!) and “Project Management” tools.

The awards ceremony will take place on March 5, 2008 at the 21st annual Software Development Conference & Expo West at the Santa Clara Convention Center. We believe we have very good chances to win with our innovative approaches and rich functionality.

Keep your fingers crossed while the judges will take an in-depth look at us in the next round of the process! :)

Technorati tags: , , , , , , , , , , , , ,

Statistic charts score a success

Thursday, January 10th, 2008

Alex Handy at SD Times, the industry newspaper for software development managers, in the article JetBrains TeamCity 3.0 Provides Visual Build Metrics, pays special attention to the statistic charts that help you evaluate build metrics at a glance. He also appreciates the two editions of TeamCity (free professional and commercial enterprise), and the new possibilities now available for the .NET users: search for duplicates and pretested commit.
Thanks to Alex for the positive feedback :)
Refer to the online documentation for details about statistic charts, editions and .NET support.

Technorati tags:
, ,, , ,

Labeling the VCS roots of finished builds

Monday, January 7th, 2008

TeamCity has two ways to label the build’s sources: automatic and manual one. So, let’s start with adding labels into the VCS for the build’s sources.

TeamCity can optionally add a label into the version control system for the sources used for a particular build. This can be useful, for example, when you need to have all the build’s sources to reproduce it. Opt to apply the VCS label for all builds or only for successful ones.

TeamCity supports VCS labeling for VCS roots managed by the following configuration management systems:

  • ClearCase,
  • CVS,
  • Perforce,
  • StarTeam,
  • Subversion.

The labeling takes place after the build’s finish and doesn’t affect the build status.

To enable the builds labeling:

  1. Navigate to Administration section, select the already existing project in the Projects list or start creating a new one.
  2. Go the step 2 “Version control settings” definition, select the labeling mode and save your changes.
  3. vcslabelingmode.png

Besides automatic build labeling, you can label sources used for a build manually. Navigate to the Build Results page, Changes tab and click Label this build sources link.
changestab.png

See more in TeamCity online reference.

Technorati tags: , , , , , , , , , , , ,