Continuously Integrating the Camel

This video is in English.
Length: 20:21
Source: YAPC::NA 2013 on the 2013-06-03.
Speaker: Hugh Esco

Slides

Blog post

How to use Jenkins and Pinto in order to do continous integration, and deployent of Perl based applications.

Jenkins for CI Continous Integration. How to use Jenkins for Perl.

The recommended Book: Continuous Delivery

Quotes

Nothing ever gets rolled out on a Friday.

Nothing ever gets rolled out later than Wednesday.

If it hurts, Do it More Frequently, and Bring the Pain Forward. And Automate it.

The Deployment Pipeline

  • We develop
  • We push our code to a repository
  • Our CI server is watching our repository for updates (polling every few minutes)
  • Every time it finds new commit in the repository it creates a full check-out
  • Builds a clean environment from scratch
  • If it passes the unit tests then the build gets archived in a repository
  • The build moves to the next stage of the deployment pipeline.
  • Where we can run automated acceptance test or manual test etc.

Pinto - Curate a Perl Repository

For Acceptance test use a language that users can speak (and not code). Sources on Cucumber BBD: Specification by Example, The Cucumber book

There are a number of modules on CPAN that can do similar things.

Maturity Model

  • Do you use version control?
  • etc...

See the Maturity Model