Wednesday, December 23, 2009

Bugfix update: TeamCity 5.0.1

Here is one more present for your this Christmas: minor update for TeamCity 5.0.

There is a bunch of issues fixed in the release. Some performance improvements in Visual Studio and Eclipse plugins, no indeed critical bugs, but update is recommended for all users of 5.0.

As you probably know, main JetBrains development is based in Saint-Petersburg, Russia. Russian Christmas is celebrated on January, 7. Thus, we have working days till December, 31 and then have national holidays till January, 10. Anyway, do not hesitate to post your feedback - we will get to it right after the holidays.

Best Wishes for this Holiday Season,
JetBrains TeamCity Team.

Saturday, December 12, 2009

TeamCity 4.5.6: minor update with IDEA 9.0 compatibility

If you are still considering upgrade to TeamCity 5.0 but want to use recently released IntelliJ IDEA 9.0, here is an update for you: TeamCity 4.5.6. There are several other fixes too, but not too much.

Thursday, December 3, 2009

TeamCity 5.0 is out

Build 10669 is going to get somewhat more attention then its siblings. It just have been announced as official TeamCity 5.0 release build.

A year after 4.0 and about 7 months after 4.5, we are releasing version 5.0.

What's inside?
Many improvements and fixes throughout entire system: from agents to server, from deep internals to Web UI.
Some of the largest additions feature Amazon EC2 support, improved Maven experience, issue trackers integration, creating backup from UI and build configuration templates.

Upgrade is not free, but all existing customers can upgrade for 50% of the full price. See details on the official site.

Plan upgrade? Read the What's New and Upgrade Notes available form 5.0 documentation.

Thank you all who helped us trying EAP releases, reporting issues and sharing your thoughts. We value your help much as this allows us to plan further features and improvements with our users in mind.

Happy building,
TeamCity Development Team.

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.

Friday, October 30, 2009

One step closer to the release: EAP build (10522)

As we plan to release 5.0 in November, we are focusing on stabilizing and fixes now. Here is a new EAP build for you to try and let us know if something goes wrong in your environment.

With this build you will get several minor features:
  • ability to download build log right from the build popup
  • a note that there are changes from previous builds that also might have failed the newly failed tests.
  • reworked cleanup page with filter by project
  • build configuration templates improvements
  • improved Remote Run in Visual Studio addin
  • and others.
There are also many fixes throughout the system.

Plan to use new features of TeamCity 5.0? Try EAP now to let us fix important issues before the release!
Some of the larger features in 5.0 are: EC2 integration, build configuration templates, test responsibility, issue trackers integration, Maven triggers and configuration creation from pom, new Java coverage.

Tuesday, October 13, 2009

New EAP build (10455)

Here is a new EAP build for you to try and let us know if something is misbehaving. The build includes:

Per-test responsibility. In addition to responsibility for a build configuration failure, you can now take (and assign) responsibility for an individual test. If there are several failing tests and no one is eager to take responsibility for the configuration, now there is no excuse :) You can assign responsibility from the test name popup and review all the active responsibilities on "Responsibilities" project tab. There are still several things to add, like notifications on responsibility assignment and here>. 

Templates improvement. Do you use recently introduced template feature to share settings for a build configuration? We do and so we continue to improve it. With this build you can create a template from an existing build configuration and also create a new configuration based on a template in a single click..

Command-line Remote Run tool. We improved the command line remote run tool (available as a plugin), so its configuration become both more flexible and more understandable. Once you install the plugin, you can create a configuration file for the tool on your TeamCity profile page. We are awaiting for your feedback and the tool usage cases so we can better understand your needs.
    Also, in this EAP: plugin for SourceGear Vault, compatibility with RubyMine beta, support for Git remote run in IntelliJ IDEA and more.

    We are moving to 5.0 release now and will only add minor features focusing on bug fixes. Please let us know if you find any critical TeamCity issues in this build..

    Friday, October 9, 2009

    YouTrack: Another Issues Number Milestone Passed

    With the recent IntelliJ IDEA project issue tracker migration to YouTrack, JetBrains installation just passed an interesting total issue count milestone:



    Wednesday, September 16, 2009

    Recent Updates: 4.5.5, New EAP build

    Recently, we've released a bugfix update 4.5.5 (see the fixed issues). Update is recommended for all users. Most notable additions are support in Eclipse plugin for Perforce 2009.1 integration plugin and improved compatibility with the latest IntelliJ IDEA (Maia EAP) builds.

    Also a new EAP build is published.
    The most important feature added are templates for the build configurations. Now you can create a template configuration and reuse its settings in others. Current approach does not allow to change much in the configurations using templates: except for the basic settings, only the build configuration properties can be altered. This means that if a value is intended to be changed in the build configurations using the template, it should be defined with a property reference. As a note, VCS roots do not support properties references and probably will not in the nearest future. However, the references are supported in the checkout rules.
    We wait for your feedback on the feature to know how good this covers your cases and what improvements you definitely need.

    The work is also ongoing on:
    - Maven integration: trigger builds on repository artifact change is a new addition to creating a configuration from pom.xml;
    - Amazon EC2 integration: can now create profiles in the web UI. We are working on dynamic agents start/shutdown - see the next EAP build;
    - UI improvements: see the revamped My Changes and improved change details pages;
    - Backup/restore: improved stability.

    This EAP build also is compatible with the latest Maia EAP (build 10762).

    If you care about any of the features mentioned, please let us know what you think and what improvements you might need.

    BTW, you can also voice your thoughts in person to Pavel and me if you participate in CITCON Europe 2009 this weekend :)

    Tuesday, July 21, 2009

    TeamCity 5.0 Codename Darjeeling EAP is Open

    Today we published the first build of TeamCity 5.0 EAP. It includes all the fixes of 4.5.4 and lots of new features and fixes.

    • Some obsolete projects cluttering the UI? — Archive them
    • Like to watch the build printing lines into console? — Now you can do that in TeamCity too.
    • Need easier integration with NCover or PartCover? — Now you get it in .Net-specific runners.
    • Shoulda understood how Cucumber is related to testing? — See the updated Rake runner settings.
    • Want to see TeamCity internal server logs? — Grab them form the web UI.
    • Need Java code coverage without class files instrumentation? — Use IntelliJ IDEA Coverage that is now bundled in TeamCity.

    The complete list of new features is available on the EAP change log.

    A bit of detail about the features that we want your feedback most about.

    Issue tracker integration

    We've added support for Jira, Bugzilla and Charisma (JetBrains tracker). If your favorite tracker is not listed you can add the support with a custom TeamCity plugin.

    Once you configure the issue tracker connections on the Server Configuration > Issue Tracker page and specify a project key (e.g. "TW"), each TW-5286 -style text in the commit comments and build comments will get a drop-down with the issue details. Also, a build gets "Issues" tab with the list of the issues related to the build (mentioned in the commit comments). A Build Configuration page gets Issue Log tab much like Change Log.

    TeamCity can determine in what build an issue is fixed. This works good provided each fix to an issue have issue id in the commit comment and the issue is resolved by the developer. (The build the issue is fixed in is obviously the last one with a related change.) If the issue is reopened or another related fix is committed, the issue will automatically be bound as fixed to the newer build.

    Does this case suits your issue tracker usage scenarios? Do you want TeamCity to support other cases? Tell us what you think about it.

    Eclipse and MS Visual Studio plugin changes

    The Remote Run dialog was reworked in both. If you use one of these - tell us what you think so that we can consider your feedback and improve things before the release.

    What's next?
    The next EAP release will introduce enhanced Maven2 support and ability to create TeamCity backup right from the web UI. And there is more.

    Stay tuned!

    Wednesday, July 8, 2009

    Teamcity 4.5.4 bugfix release is ready

    We've decided to release one more minor update to 4.5 branch to cover the issues found recently.

    Please download it form the official site.

    The list of the fixed issues can be found in the tracker.

    Expect EAP for TeamCity 5.0 (codename Darjeeling) coming in a week or so.

    Tuesday, June 16, 2009

    TeamCity 4.5.3 is here to fix 4.5.2

    It happened that 4.5.2 release had Rake runner nonfunctional :(

    Sorry about that. We fixed the issue right away but need to provide updated distribution so that less users are affected.

    So here it is: TeamCity 4.5.3.

    The main development is already done in to-be-5.0 trunk but for the week since 4.5.2 release we integrated several fixes and improvements into 4.5.x branch. Here is what our tracker reports for 4.5.3.

    BTW, "Cheers" to all the users who showed up at our JavaOne booth. Thank you for the feedback and do not hesitate to post and discuss more in the forums.

    Tuesday, June 9, 2009

    Teamcity 4.5.2 is available

    Hello everyone,

    The second update of TeamCity 4.5 is available for download.
    The list of changes is available in our tracker and on our main site.

    This build contains an updated version of SVNKit library (1.3.0), so it should behave more nicely with Subersion 1.6 repositories.

    Let us know about issues found, if any.

    Kind regards,
    KIR

    Monday, May 25, 2009

    Meet us at JavaOne

    Want to meet in person with guys behind TeamCity, IDEA or MPS? Eager to see the products in action or describe pain points? Come to JetBrains booth at JavaOne (June 2-5).

    Thursday, May 7, 2009

    TeamCity 4.5.1 is released

    Fixed bugs: http://www.jetbrains.net/tracker/issues?q=state%20fixed%20fix%20for%20Calcutta%204.5.1%20(8975)

    Download link: http://www.jetbrains.com/teamcity/download/index.html

    Thursday, April 23, 2009

    TeamCity 4.5...

    is live.
    Time to think about new features and plans. Any suggestions?

    Friday, April 17, 2009

    TeamCity Git Support from JetBrains

    One of the most requested version control supports in TeamCity is Git. We do not (yet?) use it ourselves but were a bit affected too because most of the Ruby projects we setup on teamcity.jetbrains.com to demo our Rake runner were moved to Git and we could not build them anymore.

    There was a git-teamcity project on gitgub, but it seems that the first author lost interest before it took off. Luckily, it was branched by Chris Ortman and the first working Git plugin for TeamCity appeared some time after. The plugin was installed on some public instances like CodeBetter.com.
    AFAIK the plugin uses agent-side checkout and relies on git binaries present on TeamCity server and agent machines.

    After IDEA officially received Git support we got a chance to devote time to adding Git support to TeamCity. IDEA integration is based on git binaries but JGit was chosen as an integration method for TeamCity plugin.

    Quite naturally, TeamCity Git plugin sources were put into Git repository. Thanks to Git distributed nature it was no problem to start with local repository on the developer's local machine and then push the changes to public repository without any special treatment to save the history.

    Several weeks ago we installed the Git plugin in our internal TeamCity installation and started to build the plugin with TeamCity. Today we upgraded teamcity.jetbrains.com to just released build (4.5 RC), added the plugin and now are able to build the plugin so everyone can have access to the most recent version in the best traditions of CI.

    Everyone is welcome to try the plugin and send us feedback.

    Please note that the plugin is in EAP stage, so critical issues can be encountered. Please also ensure you have the latest TeamCity EAP build as the Git integration plugin is not compatible with previous versions.

    New build (8909): Release Candidate

    We plan the release for the next week and here is a release candidate build. As one of the last changes we decided to perform rename refactoring on the version itself. With all the features and improvements since 4.0 we decided it can deserve to be called 4.5 instead of 4.1.

    The only change we forgot to commit is a version displayed in the TeamCity footer: if you see 4.1 there distrust your eyes, it's 4.5, but masquerading :)

    So, what's new?
    - reworked tests grouping on the tests tab
    - further improvements to LDAP synchronization (anyone to describe LDAP configuration to test completeness of our settings?)
    - fixes, improvements and fixes again.

    More in release notes.

    If you try the build (please do), let us know about any issues uncovered in your environment.

    Saturday, April 11, 2009

    Subversion labeling for googlecode projects

    This is a small hint for those who host an open-source project on code.google.com.

    If you want to setup TeamCity VCS labeling for your project, use the following in your SVN labeling settings field:
    /trunk=>/tags

    and don't forget to specify authentication information for your SVN settings.

    Monday, April 6, 2009

    New EAP build (8870): Boosted LDAP integration

    With several last-minute fixes to LDAP integration (so last-minute we are are providing them as a separate download - see the note on Download Page), we are releasing the next EAP build from 4.1 series.

    LDAP integration can now retrieve user details and groups membership as well as automatically create users in TeamCity once they appear in LDAP. The latter feature is useful for sending builds notifications to the users that do not even know about CI server.

    With more UI polishing and bulk group operations, user groups feature is almost finished in this build.

    A detailed changes description can be found in the release notes.

    If you care either about user groups or LDAP integration please give these features a try and let us know your opinion. We plan to release 4.1 in several weeks and there is still a chance to fix major issues if you spot them.

    Wednesday, April 1, 2009

    Cumulative JetBrains Products Update

    If you do not know already, today we are announcing a pack of new features to all JetBrains products.
    Please welcome TeamCity's Cash Options,
    IntelliJ IDEA's Voice Control Plugin
    and ReSharper's Configurator.

    TeamCity Tracker Upgrade

    About a year ago we migrated our TeamCity issue tracker from JetBrains Jira to a new tracker that is developed in-house. The dogfooding is great - the developers are several rooms away and you can always go complain in person rather then trying to write everything down :)

    The tracker (its codename is Charisma) has been evolved a lot since then, but there were no changes visible for the last couple of months. Why? Because of the new completely rewritten UI and the whole new approach to replace the current one. These changes could not be done incrementally and were developed under cover for quite a while. BTW, the language technology behind Charisma is MPS and that makes the development much more fun.

    A week ago a new update was pushed to www.jetbrains.net/tracker and now all the users can try the new UI themselves. The old one ("workspace") will be abandoned soon.

    So head to your profile ("Settings" tab) in the tracker and check "Use New UI" checkbox.
    You will then be redirected to new UI URL: www.jetbrains.net/tracker/issues.

    The workspace can still be reached by www.jetbrains.net/tracker/oldWorkspace, but if you ever need it - let us know why. We will need to improve new UI before we drop the old one for good.

    Do you like new UI? Any difficulties using it? We need your feedback! Found a bug? Post it right into Charisma.

    Plugins are Fun

    Just to let you know that we've updated a plugin that you might need today.

    Tuesday, March 31, 2009

    VAN meeting: TeamCity Live Demo

    Zachariah Young kindly invited someone from JetBrains to present at one of the Virtual ALT.Net online meetings about TeamCity. We accepted and will be giving a demo this Wednesday.

    Virtual ALT.Net is a virtual group that meets once a week to talk about different alt.net topics. Current topic is on automated build and continuous integration.

    More details in Zachariah post.

    It will be early morning in Saint-Petersburg, but I will try not to fall asleep :)

    Thursday, March 19, 2009

    New EAP build (8804): XML reports, support P4 in VS, more tests analyzing tools

    During this week we were trying to get a build that we would consider EAP quality.

    But as soon as one issue was fixed, another poped out and that delayed the EAP release at least half a day more. Our full build cycle takes about 4 hours. This includes many steps from Java and .Net code compile through unit tests on 4 platforms and and 5 different environments to assembling distribution packages. This process is split in about 20 steps (build configurations) and we share a common build factory with IDEA, ReSharper and other JetBrains products, so a full cycle make take a while.

    Finally, after some battles we grabbed a build and are throwing it into EAP: build 8804.

    Be sure to read through the release notes as it may expose unusual behavior in respect to user's default settings - read the yellow block in the notes for details.

    One of the highlights of the build is bundled XML report plugin. The plugin was available for several months as a separate download and now it has reached the state we can bundle it into the distribution. But be sure to add tests reporting only if you do not see test in TeamCity UI already. Otherwise, you will get each test reported twice: once by automatic TeamCity listener and another from the XML report.

    Have PMD or FindBugs reports generated during the build? Configure the report importer an get the results in TeamCity inspections browser empowered with "open in IDE" functionality.

    Use Perforce and longing for the Remote Run functionality in Visual Studio? Now you get it.

    Need a bird-eye view on a test in the scope of the entire project? Test details are now project-wide.

    Badly want another feature? Go vote for it in our tracker (or submit a new one).

    As usual, your feedback is highly appreciated.

    Friday, February 20, 2009

    4.1 EAP is open

    Let us share the results of our last months work on TeamCity. We branched on 4.0.x and 4.1 releases about the same time 4.0.1 was released, and the main work effort is undergoing in the 4.1 branch since. We were continuously upgrading the internal TeamCity installation (and fixing emerging issues right away). As we reached a certain point in features and have quite stable build, we are ready to make the build public.

    You can read through the release notes to get overview of the changes.

    One of the main features we are introducing is user groups.
    Groups store users and can be assigned roles, just like users. A user then gets all the directly assigned roles and all the roles assigned to the groups she belongs to. A group can contain other groups and users, it can also be included into several groups. Currently you can assign roles and add users on the group details page.

    Our nearest plans are to add notifications to groups - they will work as default notifications for all the members of the group. Also under way is LDAP integration with automatic retrieval of user-groups correspondence from LDAP.

    Please let us know your groups usage scenarios so that we can consider them when enhancing TeamCity groups support.

    Get the build from EAP download page. And let us know what you think about the new features participating in the poll to the right.

    Tuesday, February 3, 2009

    TeamCity 4.0.2 is out

    Our download page has got a new update with 4.0.2 link.

    As we are working on 4.1 since about 4.0.1, so 4.0.2 is a branch which got only critical bugfixes and urgent improvements.
    Generally, you will want to upgrade from 4.0.1 to 4.0.2 if:
    • you are using snapshot dependencies and spot build queue growing large with automatically triggered builds of the same build configuration (now we merge them more aggressively)
    • you often have builds with lots of failing tests (performance fixes)
    • you are using SVN (several fixes incl. performance)
    • you are using CVS (fixes in pre-tested commit from IDEA, other)
    • you use TFS with large repositories and experience performance issues (we added TFS agent-side checkout, it is a bit experimental, though)
    • you are using MSTest reporting (stability fixes)
    • you have extra large build numbers (we increased the length from 32 to 256 symbols). In the trunk we also truncate build numbers in web UI to make them usable. This will soon be available in 4.1 EAP
    • or if you experienced one of the fixed issues

    Need user groups support? Want to move a build configuration from one project to another right from the web UI? These are the features already in development for upcoming TeamCity 4.1. We plan to open EAP for it in a week or so.

    Friday, January 16, 2009

    Linking JavaDoc from Confluence

    If you hadn't yet noticed, our Plugin Development documentation got a major boost recently with new topics and more detailed descriptions.
    Today the documentation got links to online openAPI JavaDoc.

    It seems there is no generally available solution for the JavaDoc links in Confluence, so here is a description of our approach.
    The links were accomplished via Confluence User Macros

    Now when a Confluence wiki markup looks like:
    {tc-javadoc:jetbrains.buildServer.serverSide.SBuildServer|findBuildInstanceById(long)}
    it is turned into a link: jetbrains.buildServer.serverSide.SBuildServer#findBuildInstanceById(long).

    The User macro is:

    #if ($param1)
    #set ($methodRef = "#$param1")
    #else
    #set ($methodRef = "")
    #end
    <b><a href="http://javadoc.jetbrains.net/teamcity/openapi/current/${param0.replaceAll('\.','/')}.html$methodRef">$param0$methodRef</a></b>

    Additional macro options:
    Macro has a body: OFF
    Output: Macro generates HTML markup

    This is macro's first and quick version, it will probably be enhanced along the way.