Saturday, November 28, 2009

EAP build (10642)

And one release candidate more.

Mostly fixes, with one addition, though: this build comes bundled with REST API plugin.

The plugin was started several months ago as a night hacking experiment but soon found usage in YouTrack-TeamCity integration and several internal infrastructure tasks.We hope that bundling it will serve for the benefit of all the TeamCity users while we will be making it more powerful and usable (aha, it is still scarce on the docs). Sources are freely available, so patches/suggestions are wellcome!

... went back checking the overall TeamCity functioning, while hoping you try this TeamCity EAP build and let us know if something is not working properly in your environment.

Tuesday, November 24, 2009

EAP build 10626 - Almost RC

A new EAP build as the release approaches. We are focused on fixing the most critical emerging issues now, so this is almost a release candidate build.

Apart from a number of fixed issues, minor improvements slipped through: presentation of the snapshot dependency builds failures, ability to specify prefix for EC2 agent name, dedicated action to remote run all committed but not pushed Git changes in IDEA, etc.

This is the first build which uses new TeamCity 5.0 license keys. It has time limited (60 days) EAP key bundled, so you do not need to do anything, the bundled key will be used automatically. New license keys are introduced to handle upgrade policy that we are going to announce with the 5.0 release.

In brief, new TeamCity 5.0 license key (both server and agent) will work with any version released during a year since the date of purchase. Further upgrades will be available for a discounted price.

If you already have any TeamCity licenses, you can upgrade them with a discount. If you have bought TeamCity 4.5 license within the last several month, you get 5.0 for free.

Precise terms will be announced a bit later.

Saturday, November 21, 2009

New TeamCity 5.0 features I use a lot

In TeamCity 5.0 we introduced a number of interesting features and some of them became very useful for us themselves. I would like to share my own list the TeamCity 5.0 features I use most often.

First of all in TeamCity team I play two roles: developer and manager. And as such my preferences are specific a bit. As manager I need to track the overall project health and minimize time while the builds are broken. This is especially important on the eve of the release. As a developer I need to see status of my changes.

So my five favorite features are:

1. Per-test responsibility

This feature significantly reduces time between test failure and responsible developer notification. Often when team uses CI server there is a person who tracks project status. This person has a context of latest changes committed to the project and can relatively easy find a developer responsible for a failure. I often use this feature because I am anxious about current project status and want tests to be fixed faster.

By the way, can you suggest a more neutral name for "responsibility"? It turns out that for some of developers being a "responsible" for a test failure is a bit offensive.

2. Build artifacts promotion

We have a special build configuration which upgrades our own TeamCity server. This build configuration (let's call it "Upgrade") depends by artifact dependencies on a configuration producing installation files ("Dist"). In this dependency we did not want to stick on a last finished build of "Dist" because sometimes it is broken. So we used "Run custom build" dialog to start "Upgrade" and typed a build number of "Dist" as a value of some parameter. Reference to this parameter was specified in the artifact dependency.

This configuration worked very well, although it was a bit complex and required some typing, so we decided to introduce a simpler way. With new artifacts promotion feature you still need an artifact dependency from "Upgrade" to "Dist" but now once the "Dist" finishes you can start "Upgrade" right from the "Dist" build. Usually when "Dist" finishes we need to check what changes it contains, are there any problems and so on. When build verification complete one can choose "Promote..." option from the build "Actions" menu and start "Upgrade". Artifacts of this build will be used in "Upgrade" without additional typing.

3. Change details / status page

As you probably know change detected by TeamCity now has its' own dedicated page. On this page you can see comment and files submitted in this change, as well as status of the started builds and failed tests.

Often I need to review changes submitted by other developers. Sometimes developers send me a link to their changes for code review (BTW if you want to practice pre-commit review you can ask your developers to send links to their "remote run" changes). Change details page shows me important information related to a change in one place.

Note that "My changes" page now shows similar information for all of my changes.

4. Issue tracker integration

I was a bit sceptical about this feature. But it turned out that it gives a fast way to obtain more details on a submitted change.

How often do you see comments like: TW-3431 fixed? If you need to know more details about fixed bug, you have to click on a link or switch to an issue tracker and search for this issue. Now, if issue tracker integration is configured in TeamCity you can move your mouse over the "TW-3431" in the TeamCity UI and see the bug title. Even such a simple feature can save some time.
Of course the whole feature of issue trackers integration is bigger than that, however showing of the bug title is what I use most often.

5. Incremental update of the build log

Previous versions of TeamCity did not update build log page and you had to press F5 in your browser to get more recent information. This is not the case anymore. Now "All messages" page of the build log updates automatically. It also keeps scrolling at the bottom of the page.

Now when I need to see a full build log of a build in TeamCity 4.5 I sometimes forget to refresh the page. People quickly get used to good things.

So these are top 5 features of the TeamCity 5.0 I use most often. What features do you use?

Thursday, November 12, 2009

EAP build 10574

Here is a new EAP build with latest fixes. Nothing really special, just lots of fixes. One feature slipped through, though: now you have "Hide successful" checkbox on the Projects page that allows to hide all the green build configurations.

BTW, if you have a plugin for TeamCity, this is the best time to try it with the latest EAP and let us know if it breakes: we can either advice you of a fix or fix an issue in our code. Be sure to look through open API changes list beforehand.