Skip to content

Continuous Integration for iPhone/Xcode projects

I just committed an initial pass at an Xcode builder for CruiseControl. If you want to try it out you’ll need to get the latest code from svn. Right now the plugin is extremely rudimentary: it has only the single attribute ‘directory’ which is where it will invoke xcodebuild.

Here’s an example from config.xml for capturing the images below:

    <project name="RaiseMan">

        <listeners>
            <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
        </listeners>

        <modificationset quietperiod="30">
            <svn localworkingcopy="${BookProjects}/${project.name}"/>
        </modificationset>

        <schedule interval="60">
            <xcode directory="${BookProjects}/${project.name}"/>
        </schedule>

        <publishers>
            <artifactspublisher dest="artifacts/${project.name}"
                      file="${BookProjects}/${project.name}/xcodebuild.cc.output"/>
        </publishers>

    </project>

Even though the plugin is very simple has all the basics. Like the Ant builder can monitor the build output while it’s happening from the dashboard, and you can see errors and warnings in the jsp reporting app and in email. But unlike the Ant builder you can also publish the build log as an artifact so that you an view it later as plain text.

see build progress in the dashboard

see build progress in the dashboard

view build errors

view build errors

publish log as artifact

publish log as artifact

view complete build log

view complete build log

Hope you like it!

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*