TeamCity 5.x with xcodebuild? - xcode

We're considering migrating from CruiseControl/CruiseControl.NET to TeamCity.
A portion of our product is a Cocoa app, and I need to figure out if I want to try to migrate it to TeamCity as well, or if it would be better to leave it running under CruiseControl.
Everything I've found so far (including the teamcity-xcode plugin) refers to running xcodebuild under TeamCity 4.x, but we're running 5.x.
Is it possible to run an Xcode build under TeamCity 5.0?
What were your experiences?

We're currently looking into that as well, hence my googling bringing up this question. According to the docs TeamCity can run agents on OSX and this blog post discusses getting an iPhone build up and running. Hopefully these will prove a good starting point to getting an iOS build under TC.

Related

Is it possible to install SonarQube 4.5 locally to be able to analyzie my maven project?

i am discovering sonarqube 4.5 and my first documentation walkthrough left me with a basic question : is it possible to install sonarqube 4.5 locally to perform the needed analysis on my local project? i mean the documentation suggests the following :
The Database and the Analyzers must be located in the same network.
The Database and the Analyzers must not be installed on the same machine.
This led me to the obvious conclusion that i need at least 2 machines to perform a full analysis to my maven project. So how is it possible for the average joe who has only one machine to be able to test SonarQube on a local project ?
Regards
Yes, you can run Sonar on a single machine. For a production setup, it's recommended to have dedicated DB, but for test purposes, you can use built-in DB.
Follow these instructions: http://docs.sonarqube.org/display/SONAR/Setup+and+Upgrade
You will find a series of posts on my blog describing precisely all the different steps to install SonarQube with Jenkins an a laptop: http://qualilogy.com/en/category/sonar/sonar-installation/
Regards.

Is it possible to run jenkins with two different iOS sdks

We are using Jenkins to run our xcodebuilds on a Mac Mini server. In the last weeks we started development of iOS 7 apps and we installed Xcode 5 DP versions on the Mac Mini.
When installing a new Xcode version and configuring the xcodebuild of the new Xcode which xcode-select this new version is also used for building our old iOS 6 apps - which breaks the UI of them.
Is there a way to tell Jenkins which xcodebuild it should use to build a project?
Check out the solution posted by Andy Molloy at http://andymolloy.net/specifying-xcode-version-for-jenkins-projects.
You have to install EnvInject plugin for Jenkins and add DEVELOPER_DIR=/Applications/Xcode5-DP6.app/Contents/Developer environment variable to your build job.
It doesn't look like it is possible to specify xcode version per jenkins job. Also switching xcode version on the command line requires root permissions.
You might manage to solve your issue by making sure your IOS 6 apps, when built with the new xcode, work properly. Try selecting the proper base SDK and deployment target http://www.clarkcox.com/blog/2009/06/23/sdks-and-deployment-targets/
If that won't work you could try forcing a switch of the xcode version to use at build time, pre xcode plugin use. You will have to fiddle with sudo rights. Given that this is a system setting, you might need to prevent multiple builds from happening simultaneously.
I would do my best getting the multiple builds working with a single xcode version though.
Select the xcode version at runtime
Use EnvInject plugin
for jobs that require the non default do something like
DEVELOPER_DIR=/Applications/Xcode6.0.1.app/Contents/Developer
under Inject environment variables to the build process
https://wiki.jenkins-ci.org/display/JENKINS/Xcode+Plugin

Getting TeamCity to work with ClearCase

I'm trying to set up TeamCity (latest version -- 6.0.3) to play nicely with a ClearCase view.
I've found several resources online, some on this site, but mostly outdated.
I am not sure whether configuring TeamCity with ClearCase is possible.
Few questions i have:
Should I be using a Dynamic View or Snapshot view?
Any special configurations needed to be done?
Is there any tutorial on how to set this up?
All my efforts so far have not succeeded, receiving all sorts of errors...
Please help me in setting this up.
BTW: if there is another FREE alternative for TeamCity that will integrate well with ClearCase, it is also a valid option.
The only setup I saw working with ClearCase and TeamCity is by using the TCC (TeamCity ClearCase plugin) developed by my colleague Gilles Philippart:
TCC GitHub repo: as illustrated by this recent commit, it is based on a snapshot view.
I don't have many details on the setup, but it works well with a TeamCity6.x.

Why does the Hudson Integration Game plugin does not work after update?

Recently I updated the cigame-plugin for Hudson to version 1.12. Now I recognized, that no build get points at the moment. The builds are SCM-triggered and the CI-game is activated for the project and the user. What is going wrong? How can I fix it?
EDIT: I have to correct, the update to the new version of the plugin isn't the problem. Looking through the build-history I can see, that after this update builds got a score. But at some point the builds are not longer scored. Nothing happened to hudson at this time, no restart, no reconfiguration etc. Simply SCM-changes came in and triggered builds.
EDIT 2: The ci-game-plugin counts a score for builds started manually, but not for builds started by changes in version-control. I have no idea why it behaves this way.
EDIT 3: Further investigation shows that I have this bug with the same stacktrace produced.
This is so specific to the current state of the Hudson plugin ecosystem, I suggest you go directly to the users mailing list with the question, where the plugin developers can help you directly.

What automated build system do Mac developers use?

my team is currently using buildbot to automate overnight and continuous-integration builds and regression tests. For builds and unit tests, the builder just invokes a script which syncs the sources from p4 and then runs xcodebuild. The regression tests are also launched by a shell script, and are themselves combinations of shell scripts and AppleScripts. The builds are all performed on one system but then buildbot triggers tests to happen on multiple Macs, with different architecture and OS combinations. The things I like about buildbot are the automatic triggers (so the tests run only if and when the build succeeds), and the reporting including the waterfall view to see the overall status.
However, I see a number of problems too. The "master" process which coordinates the builds is either leaky or just has a huge working set which means that it consumes a couple of gigabytes of memory. Occasionally network problems mean that a slave will be lost; rather than retrying later it will just fail the build. In fact if the slave is supposed to be triggered for a dependent build, it will fail the first build after it has otherwise successfully completed.
So what are the rest of you using to automate your Xcode builds and unit tests? How do those solutions work for you? Anything you would recommend?
I use TeamCity in a windows environment but I believe it will work on Mac and has xcode build agents.
Another similar question here.
Our team use Hudson with a script which converts the Unit Test output from XCode to NUnit format.
I know this is an older question, but for those using TFS to hold their Xcode projects, I created a custom build activity to make automating Xcode builds via TFS easier. The code is hosted on Codeplex here: http://tfsxcodebuild.codeplex.com/.
Hope someone finds it useful!
We worked out what was using all the memory - log files - older buildbot keeps all logs forever and keeps them in memory (possibly until a restart).
Newer buildbot can be configured to keep a fixed amount of history.
Buildbot build log files should be limited in size to avoid the problem.
I use the XcodeBuilder that's part of CruiseControl. Of course it helps that I wrote it. :)
But I did use it on a real multiple person project for an iPhone app (Surf) that's for sale in the app store.
Now that it's three years later I have my own answer to provide to this question. I'm using Jenkins, mainly for the plug-ins that it provides. It has a plug-in for building targets in Xcode projects (or schemes in workspaces). There's a plug-in to run the Clang static analyzer. It interfaces with my bug-tracker system, it'll automatically push builds to Testflight too.

Resources