Posts Tagged ‘xcode’

TeamCity 7.1: Control the flow!

Tuesday, August 7th, 2012

We’re happy to tell you that TeamCity 7.1 is officially released! If you were following the early access program, you may have noticed that in this release we were mostly focusing on enhancing support for distributed version control systems, such as Git and Mercurial, making the daily work with branches smooth, clear and easy. So give a warm welcome to Feature Branches in TeamCity and check them out!

As you know, Feature Branches in DVCSs like Git and Mercurial allow you to work on a feature independently from the repository and commit all the changes for the feature onto the branch, merging the changes back when your feature is complete. This approach brings a number of advantages to software development teams, however in continuous integration servers that do not have dedicated support for it, it also causes a number of problems, like constant build configurations duplication, poor visibility and in the end loss of control of the process.
Our main idea was to make development and building in branches as simple as possible. Ideally, all you would have to do is to push your branch to a Git or Mercurial repository and TeamCity would detect it and start a build on your changes. And this is how it actually works in TeamCity 7.1! You need to make only one tiny change in your build configuration – let TeamCity know which branches you want it to monitor.
So, here are some highlights:

  • Once a change is detected in a branch, TeamCity will start a build in this branch.
  • All the builds from branches are marked with branch labels to distinguish them from one another.
  • In various places in TeamCity UI you can filter builds by branch label: filter all build configurations of a single project, or history, change log, issue log and pending changes for a specific build configuration.
  • Get a bird’s-eye view on the status of active branches in a build configuration on the dedicated page.
  • Run custom builds for specific branches.
  • Use all regular TeamCity smart features such as quiet period, per-checkin triggering, dependencies, notifications, new failing tests detection, and so on with DVCS branches!

There’s a lot more to this huge feature, because it relates to many aspects of continuous integration experience, so please make sure to read the release notes to get the full taste of all the goodies we brought to you in this build.

In addition to all that we have also made a number of improvements in different areas:

  • Current problems are now shown for collapsed configurations.
  • Sticky investigation: the right way to investigate flickering tests.
  • Version Control Repository browser: use a tree view to choose a file in the repository instead of typing or pasting the path.
  • NTLM HTTP authentication is supported.
  • Manually mark build as successful or failed.
  • More options to control build steps execution.
  • Checkout on label in Perforce integration.
  • Bundled Xcode runner.
  • Amazon EC2 EBS-based instances support.
  • and much more….

Download TeamCity 7.1.

Enjoy!

Building Xcode projects with TeamCity

Friday, March 23rd, 2012

Until today continuous integration for Xcode projects within TeamCity was tedious and error-prone process. All you could do is to configure command line build step in a build configuration, somehow mark agents where Xcode is installed and manually configure agent requirements in build configuration, otherwise your build could go to an agent without Xcode installed and fail. Features like compilation errors recognition and on-the-fly test reporting were not available too.

But today we would like to announce a plugin which should make building Xcode projects much more convenient. The Xcode runner plugin provides dedicated Xcode runner, which brings a lot of goodies:

  • user friendly interface
  • support for both Xcode 3 and Xcode 4 projects
  • automatic on-the-fly reporting of tests started by Xcode build


  • automatic detection of Xcode presence on agent
  • parsing of Xcode build log and recognition of compilation errors


  • hierarchical view for Xcode build log

A couple of notes about user interface. As you can see below, you can select whether you want to build your project with Xcode 3 or Xcode 4. Xcode 3 build is target based, but there is no need to remember exact names of your targets, platforms and SDKs, if you press “Check/Reparse” button, TeamCity will parse Xcode project files and fill in the form with settings from the project, thus making it very easy to configure desired Xcode parameters.

In case of Xcode 4 the process is even simpler, all you need is to specify name of the scheme.

You can download plugin from the plugin page: Xcode runner.
Installation is simple, just put the plugin under <TeamCity data directory>/plugins folder and restart TeamCity server. After that agents will upgrade, and you can start configuring your Xcode build configuration.
The plugin is still in early beta state and can have bugs and usability issues. Feel free to report them to our tracker: http://youtrack.jetbrains.com/issues/TW.
Note that plugin is compatible with TeamCity 7.0, it won’t work with earlier versions.

By the way, as an Objective-C developer you might also be interested to know that JetBrains has recently released a new version of AppCode – a smart IDE for Objective-C developers building native Cocoa apps for MacOS X or iOS with a bunch of new refactorings, enhanced debugger and a lot of other goodies.

Enjoy!