Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Distributed Test with CI

Avatar for wmernagh wmernagh
February 19, 2012

Distributed Test with CI

How Iora Health uses its CI server to offload all full runs of its test suite. Video of the presentation can be seen here http://bostonrb.org/presentations/teamcity-ci

Avatar for wmernagh

wmernagh

February 19, 2012
Tweet

Other Decks in Programming

Transcript

  1. What I will cover • Our initial development process •

    The problem and why it had to change • Team City CI • Project Templates • Remote agents • Our current development process
  2. Old dev process • Select the top story in our

    backlog. • Fetch the latest version of master. • Create a feature branch from master. • TDD the feature. • Get new tests to green. • Run the test suite and get all tests to green. • Create a pull request. • Upon acceptance merge into master and push to origin.
  3. Team City CI • http://www.jetbrains.com/teamcity/ • Java application. • Easy

    installation and setup. • Licensing fee for more than 3 agents. • On demand EC2 launch and termination.
  4. Team City CI: Agents • Create an EC2 instance that

    can run your tests • Download the buildAgent.zip to instance and configure • Edit properties file • Boot at startup • Save it as an AMI
  5. New Dev process • Select the top story in our

    backlog. • Fetch the latest version of master. • Create a feature branch from master. • TDD the feature. • Get new tests to green. • Run the test suite and get all tests to green. • Push to personal ci branch and wait for green before going to step 9. • Go to step 1. • Create a pull request. • Upon acceptance merge into master and push to origin.
  6. Conclusion • Similar features are probably available on other CIs.

    • Cost of running multiple agents and licensing is less that developer time.