SlideShare una empresa de Scribd logo
1 de 12
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

Más contenido relacionado

La actualidad más candente

enjoy sublime plugin
enjoy sublime pluginenjoy sublime plugin
enjoy sublime plugin
Lim Hyung-Joo
 
A Startup Case Study of Open Source Software
A Startup Case Study of Open Source SoftwareA Startup Case Study of Open Source Software
A Startup Case Study of Open Source Software
Leon Ho
 

La actualidad más candente (20)

Git Ready! Workflows
Git Ready! WorkflowsGit Ready! Workflows
Git Ready! Workflows
 
enjoy sublime plugin
enjoy sublime pluginenjoy sublime plugin
enjoy sublime plugin
 
Week7
Week7Week7
Week7
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
 
ConcourseCI love Minio
ConcourseCI love MinioConcourseCI love Minio
ConcourseCI love Minio
 
Continuous delivery with open source tools
Continuous delivery with open source toolsContinuous delivery with open source tools
Continuous delivery with open source tools
 
Git branching-model
Git branching-modelGit branching-model
Git branching-model
 
Juc boston2014.pptx
Juc boston2014.pptxJuc boston2014.pptx
Juc boston2014.pptx
 
Slim PHP when you don't need the kitchen sink
Slim PHP   when you don't need the kitchen sinkSlim PHP   when you don't need the kitchen sink
Slim PHP when you don't need the kitchen sink
 
A Personal Journey
A Personal JourneyA Personal Journey
A Personal Journey
 
Using Git to Organize Your Project
Using Git to Organize Your ProjectUsing Git to Organize Your Project
Using Git to Organize Your Project
 
Development, Deployment and Collaboration at Etsy
Development, Deployment and Collaboration at EtsyDevelopment, Deployment and Collaboration at Etsy
Development, Deployment and Collaboration at Etsy
 
Scaling up development of a modular code base
Scaling up development of a modular code baseScaling up development of a modular code base
Scaling up development of a modular code base
 
Introduction to hubot
Introduction to hubotIntroduction to hubot
Introduction to hubot
 
DevTools at Etsy
DevTools at EtsyDevTools at Etsy
DevTools at Etsy
 
COSCUP 開源工作坊:Git workflows
COSCUP 開源工作坊:Git workflowsCOSCUP 開源工作坊:Git workflows
COSCUP 開源工作坊:Git workflows
 
Jenkins-Koji plugin presentation on Python & Ruby devel group @ Brno
Jenkins-Koji plugin presentation on Python & Ruby devel group @ BrnoJenkins-Koji plugin presentation on Python & Ruby devel group @ Brno
Jenkins-Koji plugin presentation on Python & Ruby devel group @ Brno
 
Concourse webhook
Concourse webhookConcourse webhook
Concourse webhook
 
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostusta
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostustaVincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostusta
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostusta
 
A Startup Case Study of Open Source Software
A Startup Case Study of Open Source SoftwareA Startup Case Study of Open Source Software
A Startup Case Study of Open Source Software
 

Destacado

Cloudaustin rundeck-docker
Cloudaustin rundeck-dockerCloudaustin rundeck-docker
Cloudaustin rundeck-docker
imrichar
 
ドリコムのInfrastructure as code
ドリコムのInfrastructure as codeドリコムのInfrastructure as code
ドリコムのInfrastructure as code
Yosuke Hiraishi
 
Functional Test Reporting - Prateek Baheti
Functional Test Reporting - Prateek BahetiFunctional Test Reporting - Prateek Baheti
Functional Test Reporting - Prateek Baheti
Thoughtworks
 
4.2.1 test plan (proposed testing)
4.2.1 test plan (proposed testing)4.2.1 test plan (proposed testing)
4.2.1 test plan (proposed testing)
Vlad Puten
 
Introduction To Testlink
Introduction To TestlinkIntroduction To Testlink
Introduction To Testlink
guest1425e3
 

Destacado (20)

Redmine Applied for Large Scale
Redmine Applied  for Large ScaleRedmine Applied  for Large Scale
Redmine Applied for Large Scale
 
No Email! Creating A Community Of Developers
No Email! Creating A Community Of DevelopersNo Email! Creating A Community Of Developers
No Email! Creating A Community Of Developers
 
DTO #ChefConf2012
DTO #ChefConf2012DTO #ChefConf2012
DTO #ChefConf2012
 
TDD 實戰
TDD 實戰TDD 實戰
TDD 實戰
 
Best practices of project management for small teams
Best practices of project management for small teamsBest practices of project management for small teams
Best practices of project management for small teams
 
Nguyễn Vũ Hưng: Project/Information Management. with Redmine
Nguyễn Vũ Hưng: Project/Information Management. with RedmineNguyễn Vũ Hưng: Project/Information Management. with Redmine
Nguyễn Vũ Hưng: Project/Information Management. with Redmine
 
[Intuit] Control Everything
[Intuit] Control Everything[Intuit] Control Everything
[Intuit] Control Everything
 
Cloudaustin rundeck-docker
Cloudaustin rundeck-dockerCloudaustin rundeck-docker
Cloudaustin rundeck-docker
 
ドリコムのInfrastructure as code
ドリコムのInfrastructure as codeドリコムのInfrastructure as code
ドリコムのInfrastructure as code
 
Vinicorp: Information management with redmine
Vinicorp: Information management with redmine Vinicorp: Information management with redmine
Vinicorp: Information management with redmine
 
How to customize redmine public
How to customize redmine publicHow to customize redmine public
How to customize redmine public
 
Beta testing with CI
Beta testing with CIBeta testing with CI
Beta testing with CI
 
Practical TDD Demonstrated
Practical TDD DemonstratedPractical TDD Demonstrated
Practical TDD Demonstrated
 
Btd presentation-2011
Btd presentation-2011Btd presentation-2011
Btd presentation-2011
 
AutomationTesting_HOW_
AutomationTesting_HOW_AutomationTesting_HOW_
AutomationTesting_HOW_
 
Functional Test Reporting - Prateek Baheti
Functional Test Reporting - Prateek BahetiFunctional Test Reporting - Prateek Baheti
Functional Test Reporting - Prateek Baheti
 
4.2.1 test plan (proposed testing)
4.2.1 test plan (proposed testing)4.2.1 test plan (proposed testing)
4.2.1 test plan (proposed testing)
 
Linkedin
LinkedinLinkedin
Linkedin
 
Techzone 2014 presentation rundeck
Techzone 2014 presentation rundeckTechzone 2014 presentation rundeck
Techzone 2014 presentation rundeck
 
Introduction To Testlink
Introduction To TestlinkIntroduction To Testlink
Introduction To Testlink
 

Similar a VersaPay's Tools for Happyfficient Developers

Emerging chef patterns and practices
Emerging chef patterns and practicesEmerging chef patterns and practices
Emerging chef patterns and practices
Owain Perry
 
Updated non-lab version of Level Up. Delivered at LOPSA-East, May 3, 2014.
Updated non-lab version of Level Up. Delivered at LOPSA-East, May 3, 2014.Updated non-lab version of Level Up. Delivered at LOPSA-East, May 3, 2014.
Updated non-lab version of Level Up. Delivered at LOPSA-East, May 3, 2014.
Mandi Walls
 

Similar a VersaPay's Tools for Happyfficient Developers (20)

Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflow
 
GIt 마을로 이주하기 (Git -> Svn, svn-all-fast-export)
GIt 마을로 이주하기 (Git -> Svn, svn-all-fast-export)GIt 마을로 이주하기 (Git -> Svn, svn-all-fast-export)
GIt 마을로 이주하기 (Git -> Svn, svn-all-fast-export)
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Cocoapods in action
Cocoapods in actionCocoapods in action
Cocoapods in action
 
Rapid development with Rails
Rapid development with RailsRapid development with Rails
Rapid development with Rails
 
Git
GitGit
Git
 
Droidcon Spain 2105 - One app to rule them all: Methodologies, Tools & Tricks...
Droidcon Spain 2105 - One app to rule them all: Methodologies, Tools & Tricks...Droidcon Spain 2105 - One app to rule them all: Methodologies, Tools & Tricks...
Droidcon Spain 2105 - One app to rule them all: Methodologies, Tools & Tricks...
 
Emerging chef patterns and practices
Emerging chef patterns and practicesEmerging chef patterns and practices
Emerging chef patterns and practices
 
CI doesn’t start with Jenkins
CI doesn’t start with JenkinsCI doesn’t start with Jenkins
CI doesn’t start with Jenkins
 
Magento 2 Workflows
Magento 2 WorkflowsMagento 2 Workflows
Magento 2 Workflows
 
Continuous Delivery of Puppet Manifests
Continuous Delivery of Puppet ManifestsContinuous Delivery of Puppet Manifests
Continuous Delivery of Puppet Manifests
 
There and Back Again: How We Drank the Chef Kool-Aid, Sobered Up, and Learned...
There and Back Again: How We Drank the Chef Kool-Aid, Sobered Up, and Learned...There and Back Again: How We Drank the Chef Kool-Aid, Sobered Up, and Learned...
There and Back Again: How We Drank the Chef Kool-Aid, Sobered Up, and Learned...
 
Updated non-lab version of Level Up. Delivered at LOPSA-East, May 3, 2014.
Updated non-lab version of Level Up. Delivered at LOPSA-East, May 3, 2014.Updated non-lab version of Level Up. Delivered at LOPSA-East, May 3, 2014.
Updated non-lab version of Level Up. Delivered at LOPSA-East, May 3, 2014.
 
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemShip It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
 
How to Contribute to Ansible
How to Contribute to AnsibleHow to Contribute to Ansible
How to Contribute to Ansible
 
Stash – Taking Expedia to New Heights - David Williams and Christopher Pepe
Stash – Taking Expedia to New Heights - David Williams and Christopher PepeStash – Taking Expedia to New Heights - David Williams and Christopher Pepe
Stash – Taking Expedia to New Heights - David Williams and Christopher Pepe
 
Application Deployment at UC Riverside
Application Deployment at UC RiversideApplication Deployment at UC Riverside
Application Deployment at UC Riverside
 
stackconf 2022: Infrastructure Automation (anti) patterns
stackconf 2022: Infrastructure Automation (anti) patternsstackconf 2022: Infrastructure Automation (anti) patterns
stackconf 2022: Infrastructure Automation (anti) patterns
 
Infrastructure as Code Patterns
Infrastructure as Code PatternsInfrastructure as Code Patterns
Infrastructure as Code Patterns
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

VersaPay's Tools for Happyfficient Developers

  • 1. Open source tools for 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