Open source tools for
happyfficient developers

   VersaPay - Philippe Creux - @pcreux
VersaPay app

•   Ruby on Rails application
•   Test driven development with
    •   RSpec
    •   Cucumber
Tools


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

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

•   To create, test & review feature branches
•   To know where we’re at
•   To QA
•   To deploy!
Feature branches
•   Issue #123: Add credit card
•   Branch: 123-add-credit-card
•   ~20 feature branches per iteration:
    •   Create branch
    •   Checkout branch
    •   Review branch
Gitmine!
•   Create branch:
    •   gitmine branch 123-add-credit-card
•   Checkout branch:
    •   gitmine checkout 123
•   Review & merge branch:
    •   gitmine reviewed 123
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
Alfred!

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

•   We use Cucumber
    •   BDD framework + Natural language
•   We made Viewcumber
    •   Browse cucumber scenario
    •   See screenshots for each step
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
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

VersaPay's Tools for Happyfficient Developers

  • 1.
    Open source toolsfor happyfficient developers VersaPay - Philippe Creux - @pcreux
  • 2.
    VersaPay app • Ruby on Rails application • Test driven development with • RSpec • Cucumber
  • 3.
    Tools • Redmine - Project management • Git - Source control • Jenkins - Continuous Integration
  • 4.
    Process • 2 weeks iterations • Feature branches • Code review • Deploy at the end of each iteration
  • 5.
    Tools... • To create, test & review feature branches • To know where we’re at • To QA • To deploy!
  • 6.
    Feature branches • Issue #123: Add credit card • Branch: 123-add-credit-card • ~20 feature branches per iteration: • Create branch • Checkout branch • Review branch
  • 7.
    Gitmine! • Create branch: • gitmine branch 123-add-credit-card • Checkout branch: • gitmine checkout 123 • Review & merge branch: • gitmine reviewed 123
  • 8.
    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
  • 9.
    Alfred! • Dashboard: • Who’s working on what • Ticket status • Test status
  • 10.
    Viewcumber! • We use Cucumber • BDD framework + Natural language • We made Viewcumber • Browse cucumber scenario • See screenshots for each step
  • 11.
    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
  • 12.
    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