Jenkins and Ruby

This site is the new docs site currently being tested. For the actual docs in use please go to https://www.jenkins.io/doc.

Jenkins integrates well with the Ruby toolchain for common tasks that many Ruby developers are already running locally. Tasks such as executing RSpec or Cucumber, generating documentation, running code analysis tools and deploying Ruby software can all be done through Jenkins.

Integrating test results

Many tools, like Cucumber, can natively output JUnit-formatted XML which integrates by default into Jenkins via the "Publish JUnit test result report" Post-build Action. For tools which do not generate the appropriately formatted XML by default, there are gems which add the necessary formatters, such as ci_reporter.

Configured JUnit post-build action

By integrating the test reports into Jenkins, you can generate trends and reports. There are other plugins, such as the Email Ext plugin which can also make use of these machine-readable test reports to send email notifications with only the failing test cases listed.

Trending RSpec test reports

Using plugins such as the Cucumber Test Result plugin improve the integration and discoverability of successful/unsuccessful Cucumber scenarios.

By integrating these tools into Jenkins, team members no longer need to attempt to parse thousands of lines of console output, but instead can more easily find the important information about a build.

Presentations

Other presentations

Jenkins ♥ Ruby Articles
Ruby plugins for Jenkins
JUnit plugin

publishes XML formatted test reports (generated by tools like ci_reporter, cucumber) for trending and analysis

Brakeman plugin

incorporates the output from the Brakeman security scanner for Rails projects

Rake plugin

adds Rake invocation as a build step

RubyMetrics plugin

reports for Jenkins. Rcov, Rails stats, Rails notes and Flog.

RubyMotion plugin

build RubyMotion projects from within Jenkins

Cucumber Test Result plugin

integrate and report from Cucumber executions