Showing posts with label continuous integration. Show all posts
Showing posts with label continuous integration. Show all posts

10/18/2011

Continuous integration for iOS app with Cucumber, Frank and Bamboo

It's been a while since I had written latest post and it's just because I have too little time and too little readers, so I wasn't sure it worthies spending time. But after this post by Marlena Compton I've decided to keep it on.

So, this post is about building continuous integration for iOS application with Cucumber + Frank as acceptance testing framework and Bamboo as CI server.

3/27/2011

Continuos Integration of Android apps

While looking for a way to implement this, I've found several how-tos, but they all used Maven, which didn't look great for me for several reasons. That's why I decided to set it up with myself. Here is the short manual if you are interested.
  1. Install Apache Ant
  2. Install Android SDK and its components (Tools and Platform Tools)
  3. Install Jenkins (formerly Hudson)
  4. Install Android Emulator Plugin for Jenkins and configure it with path to Android SDK
  5. Install Python Plugin for Jenkins
  6. Download android-junit-report.jar and place it to your tests lib/ directory (we need this as long as default Android test-runner doesn't generate XML report needed by Jenkins).
  7. Download build script and change variables section to fit your project (directories to application and tests, path to Android SDK, target version of Android, package name, use emulator or real device etc.). You don't need to add any modifications to AndroidManifest.xml or create build.xml - script will do this for you
  8. Create new job
  9. Add Python script as build step and paste modified version of build script there
  10. Try it!
That's supposed to be all. If you have any problems, feel free to comment/open issues at GitHub. Hope this will help you.

11/01/2010

Using Hudson variables in Python

While moving my continuous integration build script to Python (using Python Plugin for Hudson), I faced a problem of using Hudson environment variables. I am new to Python and get used just to place variables in shell script like $WORKSPACE or ${WORKSPACE}. Still, it didn't work in case of Python. So, if you met such a problem, you should use os.eviron() method. For example:

#!/usr/bin/python

import os

workspace = os.environ['WORKSPACE']
print workspace