Continuously Integrating the Camel
Source: YAPC::NA 2013 on the 2013-06-03.
Speaker: Hugh Esco
Jenkins for CI Continous Integration. How to use Jenkins for Perl.
The recommended Book: Continuous Delivery
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.
- Do you use version control?
See the Maturity Model