continuous integration meetup

Post on 15-Jun-2015

315 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Palomino Labs, Inc. palominolabs.com

Continuous Integration, Agile, and Jenkins, Oh My!

Title Goes Here

Why Continuous Integration?

• Desire be lean & agile

• Google does it

• Small startups do it

• Everyone talks about it

• VP read a blog post

It’s About Efficiency

Eliminate Waste

• Bugs are bad

• Tests prevent bugs

• Tests find bugs early

One Piece Flow

• Eliminate need to revisit features

Source: 1991, Gerald Weinberg, Quality Software Management: Systems Thinking

One Piece Flow

• Eliminate need to revisit features

• Faster shipping = more money

One Piece Flow

• Eliminate need to revisit features

• Faster shipping = more money

• More money = happiness

This Is Where Jenkins Comes In

• Tests runs must be automatic

• Stop the line

• No false positives

• Failures must be visible

Notify on Failure

• Email team on failure

Setting Up a New Machine

• AWS? Use EBS

• Allows snapshotting & embiggening

• Ubuntuwget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -

sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'

sudo apt-get update

sudo apt-get install jenkins

• RHEL/CentOS/Amazon Linuxsudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

yum install jenkins

A Good Jenkins setup

• Do all of your work in a script

• Check script into source control

• Rejoice when a mistake is made

Rails Run Script

Run All Of Your Tests

Tests Dependent Upon Other Systems

Details: http://blog.palominolabs.com/2013/05/06/ruby-testing-and-external-dependencies/

Bonuses

• HIPAA compliance

• Performance tests over time

Palomino Labs, Inc. palominolabs.com

Drew Stephens

drew@palominolabs.com

@dinomite

top related