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).
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)
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)
Fourth – Choose the branch of this SCM – calabash automation and the repository folder.
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.
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.
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
Eighth – After run the test, click on last build and on link Cucumber Reports.
Ninth – You can see the report and how long is delaying each feature, how many scenarios of each feature failed and passed.
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”
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
cucumber -p LVE features/Login.feature:14 # Scenario: Login Checkout
2 scenarios (1 failed, 1 passed)
15 steps (1 failed, 5 skipped, 9 passed)
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
Can you help me?
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 🙂