Implementing Continuous Delivery with JetBrains TeamCity at the Helm, February 24th Webinar

Join us Wednesday, February 24th, 15:00 – 16:00 GMT (10:00 AM – 11:00 AM EST) for our free live webinar, Implementing Continuous Delivery with JetBrains TeamCity at the Helm with Jeffrey Palermo of Clear Measure.

teamcity_webinar_Implementing_Continuous_Delivery_with_JetBrains_TeamCity_at_the_Helm

TeamCity has long managed Continuous Integration workflows. And it also plays well in the DevOps world. DevOps is a term representing the convergence of development and operations. Both the development and operations communities like to own the term, so it has accumulated multiple meanings. With the Agile Manifesto, developers have jettisoned annual software releases for processes that allow releasing software multiple times per day. To accomplish this, teams use rigorous suites of automated tests to ensure that every change to the software is a solid step forward rather than an accidental step backward.

In this webinar, you will learn how to set up a continuous delivery pipeline managed by TeamCity, very similarly to how Microsoft’s NuGet team manages NuGet.org. We will use the same chain of tools, and the same techniques. You will see, in detail, how to configure TeamCity to run a fully-capable deployment pipeline complete with unit tests, integration tests, acceptance tests, staging, deployment smoke tests, and gated & approved production deployments.

Space is limited, please register now. There will be an opportunity to ask questions during the webinar.

About the presenter:

Wes McClureJeffrey Palermo is a Managing Partner and CEO of Clear Measure, an expert software engineering firm based in Austin, TX with employees across North America. Jeffrey has been recognized as a Microsoft MVP for 10 consecutive years and has spoken at national conferences such as Tech Ed, VS Live, and DevTeach. He’s the purveyor of the popular Party with Palermo events and is the author of several books, articles, and hundreds of pithy Twitter quips. A graduate of Texas A&M University, an Eagle Scout, and an Iraq war veteran, Jeffrey likes to spend time with his family of five out at the motocross track.
Posted in Partner, Webinar | 2 Comments

Live webinar: YouTrack + Upsource + TeamCity Come Together

Notice: this post is originally published in the Hub blog. However, your comments are welcome here as well.

If you are using more than one team tool from JetBrains, or planning to start,  you definitely need to  join us Wednesday, February 17th, 15:00 – 16:00 GMT (10:00 AM – 11:00 AM EST) for our free live webinar with Dmitri Nesteruk.

hub_webinar_YouTrack+Upsource+TeamCity_Come_Together_2

In this webinar, we are going to demonstrate:

  • How our teamware tools can be connected to a single entry, user and permission management point (Hub).
  • How to manage users, groups and permissions in Hub.
  • How to connect different tools to one another.
  • The benefits that the various directions of integration offer to teams using YouTrack, Upsource and TeamCity together.

Space is limited, please register now.

This webinar is geared towards developers of different proficiency regardless of programming language of choice. During the webinar there will be an opportunity to ask questions. The recording will be available after the webinar.

Posted in Uncategorized | Comments Off on Live webinar: YouTrack + Upsource + TeamCity Come Together

TeamCity 9.1.6 is out now

Greetings, everyone!

Today we’ve published another bugfix release, TeamCity 9.1.6, resolving over 50 issues.

Build 37459 mostly fixes minor problems – the full list is available in our Release Notes. We hope that a number of enhancements in our NUnit 3 support and fixes for the irksome issues with NuGet should further improve TeamCity experience for .Net users.

As with any bugfix release, with TeamCity 9.1.x versions you can freely upgrade or downgrade, so be sure to check the Upgrade Notes, and download and install the latest TeamCity build!

Stay tuned for our latest news: we’ve been putting a lot of effort into the new TeamCity version, and it won’t be long before we announce the EAP for the jubilee TeamCity 10!

Happy upgrading and building!

Posted in Bugfix, EAP, News & Events | Comments Off on TeamCity 9.1.6 is out now

TeamCity Digest #3

We are continuing the series of our TeamCity Digests with this third compilation.

As before, we are glad to share some content that attracted our attention recently. Hope you find it useful as well.

Boris Modylevsky proposes to add some fun to the software development process by utilizing some of the TeamCity plugins: How to add some fun to software development?

Dan from Xamarin shares his recipe on how to achieve on-commit deployments for an iOS app, in just 1 day and 10 simple steps: Upgrading to continuous deployment with Xamarin, TeamCity, and HockeyApp.

Richard Macaskill of Redgate published a piece on using TeamCity for release management with a database deployment task: Wherever I Lay My Hat: Release Management in TeamCity with Redgate DLM.

Not a very fresh article, but something that caught our attention: A Slice of Groovy’s Hip Use of JFrog Artifactory & Bintray, and of Gradle and TeamCity. Describes how Groovy fully automates its release process using TeamCity as part of the solution.

Howard van Rooijen, our friend and partner, created an ILMerge Meta-Runner for TeamCity, which he described in his recent blog post.

Another example of TeamCity as an integral part of the continuous delivery process is described in this blog post: Continuous delivery with FAKE, Paket and TeamCity.

There is also this video on setting up a new continuous integration module within a development environment of Kentico, creators of the all-in-one CMS and e-commerce platform, with TeamCity in the mix: Kentico 9: Continuous Integration.

Ted Neward came up with a peculiar way of applying TeamCity to create new blog entries in his blog infrastructure, and he describes it in his DevOps-ing the Blog article. And in DevOps-ing the Blog, Part 2 he talks about using the TeamCity changes file to look up the commit message to post to Twitter and LinkedIn through the use of a Ruby script.

See all the TeamCity Digests.

Posted in Blogroll, Digest, FYI | Comments Off on TeamCity Digest #3

Brand new TeamCity 9.1.5 is here

Greetings, everyone!

We are happy to announce TeamCity 9.1.5 update! Have you noticed our new site featuring bright colors and an uncluttered design?

icon_TeamCity

We’re so excited about our new logo and icon and hope you are too! But new logo or old, TeamCity is still your 24/7 build engineer and will continue the drive to being the best product for you.

Build 37377 fixes over 80 problems, the most important being NuGet 3.2 compatibility fixes and bundled tools updates: TeamCity now comes with the latest IntelliJ IDEA 15.0.x and ReSharper 10.0.2.

Another change concerns the way the Gradle runner accesses TeamCity system properties: the System.properties syntax introduced in TeamCity 9.1.2 will no longer be functional; the new recommended way is to reference TeamCity properties similarly to Gradle properties. See details in our documentation.

We greatly appreciate our users reporting problems with TeamCity, fixing which helps us to make the product better. But at times the efforts of our users truly exceed our expectations! Just as we were about to release version 9.1.5, we were presented with a very subtle bug with notifications. Obviously, it had taken our users loads of time to reproduce the problem, so we decided we could not but fix it as a holiday gift to our users, all thanks to the guys from ok.ru!

Our release notes list all fixes, check them out and download TeamCity 9.1.5. now!

As usual you can freely upgrade-downgrade within all TeamCity 9.1.x releases, so check the upgrade notes and don’t hesitate to upgrade!

Happy building!

Posted in Blogroll, EAP, Features, News & Events, Tips&Tricks | 7 Comments

Webinar Recording: Continuous Integration with JavaScript

The recording of our December 2 webinar with Wesley Higbee, Continuous Integration with JavaScript, is now available on JetBrains YouTube channel.

In this webinar you will learn about building and deploying JavaScript applications with TeamCity. Wes explains why we need CI and then covers the whole workflow for the modern JavaScript application: building the app, linting, unit testing and deployment. He uses tools like Gulp, SystemJS, TSLint and Karma during his demo, but in the same way you can configure any command-line tools to run on TeamCity.

Continue reading

Posted in Webinar | Comments Off on Webinar Recording: Continuous Integration with JavaScript

TeamCity TFS support embraces Linux and Mac OS

The upcoming TeamCity version will contain some improvements in the Microsoft Team Foundation Server integration. One of the most demanded TFS features is the ability to checkout TFVC repositories on Linux machines, and we are proud to say that the new TeamCity version will support cross-platform TFS integration.

The built-in TFS support in the plugin currently depends on Microsoft Team Explorer, which works only on Windows machines. To target other platforms in the build pipeline, for example, to run a test set on Linux, until now it was necessary to install a TeamCity server and Microsoft Team Explorer on a Windows machine.

The new TFS plugin is built on top of the Microsoft cross-platform TFS SDK and works on Linux, Mac OS X, and Windows platforms. Without installing additional software, TeamCity servers and build agents can interact with Team Foundation Servers (from 2010 to 2015) and Visual Studio Team Services.

Executing build configuration on the different platforms

The production version of the new TFS plugin will be included in the upcoming TeamCity 10.0, but the EAP version is already available for download to the TeamCity 9.x users as a separate plugin which can be installed manually.

The plugin can work in two modes: the default and cross-platform. The working mode is based on the availability of Team Explorer: if it is not present, the plugin falls back from the default to cross-platform mode.

If you don’t want the plugin to affect all build configurations running on the server, you can turn on the cross-platform mode for the desired build configuration(s) only via the teamcity.tfs.mode configuration parameter:

Turn on cross-platform mode for the specific build configuration

Besides that, many users find the Versioned Settings feature really useful and want it to support TFVC repositories too. The new TeamCity TFS plugin makes it possible: once the plugin is installed, this feature is available by default.

Feedback

We want to let you know that your feedback is really appreciated, so you are welcome to try the plugin and share your thoughts in the comments to this blog post, in the forum or issue tracker. Please keep in mind this is a pre-release version of the TFS plugin, so it is not recommended for production use.

Happy building!

Posted in EAP, Features | 3 Comments

Maximize Power and Efficiency with Integration of TeamCity and Issue Tracker

This guest post is brought to you by StiltSoft.

stiltsoft_logoStiltSoft is a small team of Atlassian Experts and avid fans of JIRA and Confluence. StiltSoft is the Atlassian Verified vendor that develops TeamCity Integration for JIRA add-on. This add-on allows you to fetch commit data from a TeamCity server and show the relevant information for each associated JIRA task.

The 21st century is being driven by digital data streams that bring gigabytes of data to some processing server that combines, aggregates, and transforms them into user-friendly forms. Nowadays global systems receive data from multiple systems, and this cannot be imagined without complex integrations, data conversion, optimization, and adaptation to the central processing data storage.

Software development is one of the most data-consuming spheres, which also tries to bring order to these data streams and set the right direction for them. Software development requires the continuous tracking of all changes made in the program code, instant real-time update of the relevant information, and easy-to-use interface.

Software development cannot exist without a continuous integration server and an issue tracking platform. TeamCity is one of the most popular continuous integration servers that offers out-of-the-box integration with multiple issue tracking systems and provides easy instructions for establishing integration with other systems or applications.

Basic Principles of Integration

TeamCity server can be quickly and easily integrated with the following issue tracking systems:

The integration is established on the basis of the tracker connection, and the administrator has to select the appropriate issue tracking system:

1_teamcity_integration_form

The configuration of the connection to the issue tracker is quite simple and does not require much time or experience. The set of parameters differs a little bit because of the target system specifics.

Integration with issue tracking systems requires the following:

  • Server URL – the URL address of the issue tracker
  • Username and Password – the account credentials for data transfer and retrieval
  • Project Keys/IDs – the unique keys/IDs of projects that will be used for matching issues to TeamCity builds

2_teamctiy_connection_settings_configuration

If integrating with YouTrack or JIRA, you can automatically fetch all project keys or IDs from the issue trackers. This is quite convenient as you don’t need to enter all project keys but instantly fetch them from the issue tracker.

When a developer commits code changes he can leave a VCS comment, which will be further shown in TeamCity.

3_teamcity_build_details_page

Issue IDs or keys can be left in VCS comments and are used during integration for matching builds to issues and showing the corresponding information.

4_teamcity_viewing_related_issue_to_build

You can view the issue log for the whole branch. It shows the list of issues from the issue tracking system and the status of each issue. If needed, you can instantly proceed to the issue tracking system by clicking the issue link.

5_teamcity_viewing_issue_log

TeamCity and YouTrack: Out-of-the-box Integration

Output of build data in issues of issue tracking system is even more valuable and useful than showing issues in TeamCity. Display of this data allows multiple teams of developers and quality assurance engineers to better collaborate and interact during the project development.

6_youtrack_teamcity_build_data_tab

In YouTrack, the following data is available:

  • User who committed a piece of code
  • Date of commit
  • Related issue from VCS comment
  • Modified files

If a build was run with a special command, the corresponding information will be displayed.

But before the TeamCity build data is shown in YouTrack, the administrator needs to configure access to the TeamCity Server, which includes the server address, user credentials, and connection timeouts.

Once the connection is established, the administrator has to define the project mapping in TeamCity and YouTrack, as follows:

7_youtrack_teamcity_mapping_creation

Once this is done, the administrator needs to manually run the synchronization and then the TeamCity data will appear in YouTrack.

If integrating TeamCity with YouTrack, you can also use special commands to automatically perform basic operations on the referenced issues once you have committed changes. For example, you can add into the VCS the ‘#ID-2544 Fixed‘ comment, so the current issue will be changed to the Fixed status. You can add a comment for multiple issues, as follows ‘(#TST-12, #TST-324, #TST-433) Fixed Reviewed by john.d Revision ${revision}‘ or log work for the issue ‘ID-2544 Fixed work 3h‘.

This native integration is developed by JetBrains, so they added as many as possible features for profound interaction between TeamCity and YouTrack. Besides the retrieval of build data and its display in YouTrack, you can trigger remote actions that can simplify the overall experience and automatically initiate specific remote actions in the issue tracking system. A capability to quickly switch between TeamCity and YouTrack will also positively influence performance of developers.

Integration between YouTrack and TeamCity provides you with a seamless way to interact with TeamCity and continuously get updated data. This solution is ideal for experienced bearded developers digging through tons of code as they will reveal all its capabilities and will use them in their everyday work.

TeamCity and JIRA: Integration with Ease

Integration of TeamCity and JIRA can be done by means of StiltSoft’s add-on – TeamCity Integration for JIRA.

The add-on adds a dedicated tab on the Issue View screen and allows you to find out the following information:

  • builds associated with the current issue
  • unique build number
  • build start time
  • build duration
  • status of tests run after build completion
  • the user who committed files
  • commit log

If needed, the user can click the appropriate link and seamlessly proceed to the TeamCity section containing details about the specific item. If having multiple commits associated with the current issue, you can filter them by status, build period, agent, and project.

8_jira_teamcity_build_data_details

In the dedicated section for each project, you can view the current build activity for your projects and quickly find which modifications have been already completed.

Optionally, you can add two gadgets to JIRA dashboard. The first gadget allows you to output the activity stream from TeamCity server, the other one shows the list of available build agents so you can easily monitor what agents are available at the moment and launch tasks for the current agents.

9_jira_teamcity_dashboard_widgets

The add-on supports integration with multiple TeamCity servers and with JIRA Data Center. The administrator needs to configure an application link to fetch data from one or multiple TeamCity servers. While configuring an application link, the administrator needs also to enter the address of TeamCity server and enter credentials of the user account having access to this server. The configuration process is quite quick and intuitive.

10_jira_teamcity_server_application_links

This integration differs a bit from the native integration between TeamCity and YouTrack. Intuitive setup of the add-on and its flexible configuration allow you to adjust data indexation and its performance. The output of build data, as well as availability of TeamCity agents, positively influences the development process.

This solution will be ideal for developers, project managers, and software test engineers as each of them will use specific features needed in their everyday work. So PMs can monitor the status of projects with the gadgets shown on the dashboard, the software test engineers can find details on the changes added in each commit and check the status of run tests, and developers will be able to seamlessly transition to TeamCity to view details if needed.

TeamCity and BugZilla: One Way Ticket

Unlike YouTrack and JIRA, BugZilla does not support two-way integration between TeamCity and the issue tracker. So you cannot view the TeamCity build data in BugZilla in the same way as you can in YouTrack and JIRA.

Anyway, the data from BugZilla can simplify your experience with the continuous integration server, as you can quickly and easily get data about the issues mapped to the current build and commit.  This solution is the least convenient and user-friendly, so you’d better start with it once you have tried the two solutions mentioned above… just to return to them after 5 minutes spent in BugZilla :-)

TeamCity and Issue Tracker Integration: To Be or Not To Be

So is it worth establishing integration between TeamCity and issue tracker? Definitely, yes. And there are several reasons for this:

  • Your data is automatically mapped in your TeamCity and issue tracker.
  • You can easily track all updates and modifications in your projects.
  • You can quickly find out what, when, and by whom was committed to the project repostory.
  • Your development and quality assurance teams can work much more efficiently.

Want more? Try to integrate TeamCity and issue tracker and find out benefits for your company!

Posted in Blogroll, Guest post | Comments Off on Maximize Power and Efficiency with Integration of TeamCity and Issue Tracker

TeamCity Digest #2

We’ve decided to continue posting such digests every now and then, so that you could also benefit from the interesting content shared with us via twitter or other media.

Here is the list of articles, videos, and other materials that caught our attention. Hope they will be of interest to you as well.

Pivotal blogs about setting up a continuous deployment process for iOS apps which implies running unit tests on each commit pushed to master, and being able to deploy the latest successful build to staging at any time: iOS Continuous Deployment with TeamCity and HockeyApp.

Our colleague Hadi Hariri has released a Rundeck plugin for TeamCity:

We have also stumbled upon two online courses about CI and CD practices with TeamCity as a tool of choice:

An article by Rouan Wilsenach of ThoughtWorks walks you through the process of setting up a deployment pipeline in three steps: Running the gauntlet: Setting up your first deployment pipeline.

For those of you who are interested in running TeamCity in Azure, here are two interesting articles which describe how it can be done.

How running unit tests for Windows Store is different from running standard .NET framework unit tests: Running Windows Store Tests in TeamCity.

A comparison of TeamCity and Bamboo as a CI server for a project with 10k lines of puppet code: Continuous Integration of Puppet Code.

A blog post from Nordeus about bringing automation to Unity builds with TeamCity as their core build server: Automated Unity Builds.

These are just a few publications that we came across recently. Let us know if you have something to share, or if you think your own blog post, article, video, etc. might be valuable to the readers of TeamCity blog. Follow us on twitter @teamcity and feel free to ping us if you find something interesting.

Read all the TeamCity Digests.

Posted in Blogroll, Digest, FYI | Comments Off on TeamCity Digest #2

TeamCity and NUnit 3: on the Same Wavelength

For the last couple of months we, the TeamCity team, have been working really hard together with the NUnit team, and today we are happy to announce NUnit 3 has been released and is fully integrated with TeamCity out of the box.

Imagine any way to run NUnit tests, and all your wildest solutions will most likely work perfectly in TeamCity: you could run NUnit tests just from the command line, or using the MSBuild task, or via the NAnt project, or you may prefer to run tests using the NUnit step and would like to take advantage of the the full power of TeamCity – everything is possible now. TeamCity helps you to do it on all operating systems and at any time of day or night.

You will see real-time progress during the tests’ session. After completing the build, the Tests view allows you to analyse the build results via the user friendly UI, where you are able not only to see the test results, but also to manage them: mark an investigation as fixed, give up the investigation, re-assign it, or mute a test failure.

For a long time it was necessary to use different tricks to achieve a similar result and while most of the tricks worked fine for simple cases, it was difficult to understand how to make it work when something goes wrong. For example, you had to use the special NUnit JetBrains task, that is very similar to the NUnit task from MSBuild Community Tasks project, to run NUnit tests under the MSBuild project in TeamCity. Now you are free to use NUnit in TeamCity without any additional tweaks: just use the TeamCity command line runner to achieve your goals:

NUnit 3 in the TeamCity sample

Don’t hesitate to take advantage of this integration: download NUnit 3 and to run tests under TeamCity!

We are working on the the Getting Started guide to enable you to begin using NUnit 3 in TeamCity instantly: we hope it will  save your valuable time, because it is our mission to make your work fun and easy.

Happy building and testing!

Posted in Case study, Features, FYI, Tips&Tricks, Uncategorized | Comments Off on TeamCity and NUnit 3: on the Same Wavelength