Slide 1

Slide 1 text

Open source tools for happyfficient developers VersaPay - Philippe Creux - @pcreux

Slide 2

Slide 2 text

VersaPay app • Ruby on Rails application • Test driven development with • RSpec • Cucumber

Slide 3

Slide 3 text

Tools • Redmine - Project management • Git - Source control • Jenkins - Continuous Integration

Slide 4

Slide 4 text

Process • 2 weeks iterations • Feature branches • Code review • Deploy at the end of each iteration

Slide 5

Slide 5 text

Tools... • To create, test & review feature branches • To know where we’re at • To QA • To deploy!

Slide 6

Slide 6 text

Feature branches • Issue #123: Add credit card • Branch: 123-add-credit-card • ~20 feature branches per iteration: • Create branch • Checkout branch • Review branch

Slide 7

Slide 7 text

Gitmine! • Create branch: • gitmine branch 123-add-credit-card • Checkout branch: • gitmine checkout 123 • Review & merge branch: • gitmine reviewed 123

Slide 8

Slide 8 text

Jenkins Github Auto-branch! • Create new jenkins jobs when a branch is created • Run jobs whenever a branch is pushed • Delete jobs whenever a branch is deleted

Slide 9

Slide 9 text

Alfred! • Dashboard: • Who’s working on what • Ticket status • Test status

Slide 10

Slide 10 text

Viewcumber! • We use Cucumber • BDD framework + Natural language • We made Viewcumber • Browse cucumber scenario • See screenshots for each step

Slide 11

Slide 11 text

Mothership! • Simple web app to trigger deploys • Anyone can deploy • Track deploys • Ensure deploy process: • Deploy to Staging, then Demo, then Prod. • Enable / Disable Alerting

Slide 12

Slide 12 text

Merci! • https://github.com/pcreux/gitmine • https://github.com/versapay/hudson-github- autobranch • https://github.com/versapay/viewcumber • https://github.com/versapay/mothership VersaPay - Philippe Creux - @pcreux