Configuration of Jenkins on Windows Server for Capybara and Calabash Projects
I think the most challenging part of test automation is nowadays having Continuous Integration and one step more is having Continuos Deployment. These two terms have been a buzz words around the software community, which everyone is talking about them but there is very few companies can applied these. The reasons behind can be listed as:
On the other hand, there are lots of open source tools that you can just build and configure your own CI and may be next step goes to continuous deployment. In this post, I want to explain how you can set up CI on windows server. I will use the following tool/technology and language: Ruby, Gem (many of Gems), Capybara, Cucumber, Windows Server, Jenkins. You can follow the instruction, but possibly you can still have some different warnings or errors.
Download the appropriate version of Jenkins from home page
Capybara uses only Ruby so you need to install it. Go to the Ruby Installer page and download it. Double click on the installer and Install it to your system. I suggest you to install version newer than 2, from here.
Set Ruby path so that CMD can run ruby.exe, bundle.exe and other Ruby related executable. Installation is straightforward, just follow the instruction.
Your project should be located in Windows Server so that Jenkins executor can run it locally. You may need to install git, I will use GitLab so I have already install it. You install it from git scm. Installation is straightforward, just follow the instruction.
which is using to install necessary gems it to your system. Thanks to Ruby world, it is very easy to manage dependency.
gem install bundler
If you have problem related to recognition of Ruby or Gem, ensure that you have set the Ruby path correctly
Go to your automation project folder, there is a file called GemFiles which holds the necessary gems and version if needed.
if you have DEVKit error:
Download ruby DevKit from here and run the following commands in DevKit folder:
ruby dk.rb init ruby dk.rb install
Still have problem you can run this:
gem install json --platform=ruby --verbose
If you have connection problem:
Run the following command to set the direction to https:
git config --global url."https://github.com".insteadOf git://github.com
Add JobsI prefered seperate my stories with tag so that if I have new stories related to predefined tags I will not need to change jobs, I will just a @tag when I write the code. Also adding @regression tag for important cases to run more frequently. Therefore my execution command like as following:
cucumber features --tag @regression
You can add it to Jenkins by:
Set the path again if you have problem with finding ruby or other executives as following: 'cucumber' is not recognised as an internal or external command, operable program or batch file.
8 scenarios (8 passed) 32 steps (32 passed) 0m37.854s Finished: SUCCESS