9 steps to Configure Jenkins with Calabash/Cucumber

Hi all,

I will show how configure your calabash automation and your git repository on a jenkins job in only 9 steps.

First – Create a new job and write the project name, description and Blocking jobs (If you have any, check the block build…). In this step you can choose if you want discard the old builds or not ( I advise to not discard, it is good maintain as an evidence). Git hub project: Write the URL of your project on github and the other options about your build (generally you don’t need to check).

page1

Second – Source Code Management, you need to choose if will be one or multiple repositories (Multiple SCMS in this case). After, you write the Repository URL (Example: https://github.com/xxxxx/XXXX.git), put your credentials (if you need some to clone the repository) and click to Add, If you are using multiple repositories you can add more on Add Repository button.

In the same screen, write the branch that you will use to build the app. In this example I am using this first repository to build the app with the most up to date branch (Where the devs are working)

page2

Third – Now you write the build app folder, where the build will be. After, you need to write the repository of your automation project and choose your credentials if you need one.

(That where you put your steps and features, again this is a example, maybe your calabash automation project is inside of the same repository of the app project, so you won’t need to add this second SCM)

page3

Fourth – Choose the branch of this SCM – calabash automation and the repository folder.

page4

Fifth – In this case we are building this job periodically everyday in the evening. You can schedule the build here. Follow the example and the instructions. If you want run this job after someone pushed to Github, just check the option “Build when a change is pushed to GitHub”.

In this field, you can write the script to pull, checkout and build the app from developers branch.

page5

Sixth – Now you need to export the variables, as target, app_branch, bundle_id and everything. After you can write the command to run the calabash and the test.

page6

Seventh – In this step you can install a plugin of Cucumber and see the report with graphs and everything. Link of plugin: https://github.com/masterthought/jenkins-cucumber-jvm-reports-plugin-java

page8

Eighth – After run the test, click on last build and on link Cucumber Reports.

page9

Ninth – You can see the report and how long is delaying each feature, how many scenarios of each feature failed and passed.

page10

If you have any question or suggestion just write below in the comments.

Thank you all !

2 thoughts on “9 steps to Configure Jenkins with Calabash/Cucumber

  1. Hi, I have a problem that I don’t understand, when I execute a scenario with cucumber, capybara and selenium driver, and it is failure, doesn’t create a report in html

    Failing Scenarios:
    cucumber -p LVE features/Login.feature:14 # Scenario: Login Checkout

    2 scenarios (1 failed, 1 passed)
    15 steps (1 failed, 5 skipped, 9 passed)
    0m40.738s
    Build step ‘Ejecutar linea de comandos (shell)’ marked build as failure
    [CucumberReportPublisher] Compiling Cucumber Html Reports …
    [CucumberReportPublisher] Copying all json files from: /Users/christian.alatorre/.jenkins/jobs/QA_VE/workspace to reports directory: /Users/christian.alatorre/.jenkins/jobs/QA_VE/builds/8/cucumber-html-reports
    [CucumberReportPublisher] Found 1 json files.
    [CucumberReportPublisher] 1. Found a json file: cucumber_ve.json
    [CucumberReportPublisher] Generating HTML reports
    Finished: FAILURE

    Can you help me?

    1. Hi yes, So, do you know the reports are being generating inside this folder: /Users/christian.alatorre/.jenkins/jobs/QA_VE/builds/8/cucumber-html-reports , right ?

      In your project, are you adding the plugin in your Cucumber options ?

      Have you tried in your local machine ? Could be some problem with permissions on this folder, anyway, let me know so I can help you 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.