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

Octopusci Official Release

Octopusci Official Release

In this presentation Andrew De Ponte presents Octopusci, his multi-branch Continuous Integration server, on its official release. He covers the reasoning behind building it and why he thinks its needed. He presents it as a product and what feature he has developed for the official release and and why.

Andrew De Ponte

February 28, 2012
Tweet

More Decks by Andrew De Ponte

Other Decks in Programming

Transcript

  1. WHO AM I? Andrew De Ponte (a.k.a. Drewgle) @cyphactor on

    GitHub & Twitter Lead Software Engineer @ RealPractice Dev’d professionally in C/C++, Python, Ruby, JS, PHP, etc. Rails/Ruby is my life now! Tuesday, February 28, 12
  2. Outline What is Octopus-CI? How is it different? Demo The

    Future Get Some! Questions? Tuesday, February 28, 12
  3. What is Octopus-CI? Ocotopus-CI is a multi-branch workflow based Continuous

    Integration Server. It is largely inspired by Continuous Delivery and Scott Chacon’s post on the GitHub Flow. Tuesday, February 28, 12
  4. How is it different? Project based Builds Dynamic Multi-Branch Triggering

    Multi-Server Job Distribution Intelligent Multi-Branch Queueing Native GitHub Integration Clean & Effective User Interface Tuesday, February 28, 12
  5. Project based Builds All builds are tied to a project

    which you have previously declared the responsibility for building. In doing so you would also tie a predefined Job to that project to manage building it when needed. Tuesday, February 28, 12
  6. Dynamic Multi-Branch Triggering Detects branch creation/modification and dynamically generates a

    build for the branch based on the project the pushed branch belongs to. Tuesday, February 28, 12
  7. Multi-Server Job Distribution Manages running jobs on multiple servers, keeping

    track of which are busy, and handing jobs to servers as they become available. Tuesday, February 28, 12
  8. Intelligent Multi-Branch Queueing Job Queue octopusci / master 1. Push

    octopusci / master Job Data Store octopusci / master Tuesday, February 28, 12
  9. Intelligent Multi-Branch Queueing Job Queue octopusci / master 1. Push

    octopusci / master Job Data Store octopusci / master 2. Push octopusci / non_root octopusci / non_root octopusci / non_root Tuesday, February 28, 12
  10. Intelligent Multi-Branch Queueing Job Queue octopusci / master 1. Push

    octopusci / master Job Data Store octopusci / master 2. Push octopusci / non_root octopusci / non_root octopusci / non_root 3. Push octopusci / master Tuesday, February 28, 12
  11. Intelligent Multi-Branch Queueing Job Queue octopusci / master 1. Push

    octopusci / master Job Data Store 2. Push octopusci / non_root octopusci / non_root octopusci / non_root 3. Push octopusci / master octopusci / master Tuesday, February 28, 12
  12. Intelligent Multi-Branch Queueing Job Queue octopusci / master 1. Push

    octopusci / master Job Data Store 2. Push octopusci / non_root octopusci / non_root octopusci / non_root 3. Push octopusci / master octopusci / master 4. Push resque / master resque / master resque / master Tuesday, February 28, 12
  13. Native GitHub Integration Currently integrates with GitHub via the GitHub

    Post-Receive Hook. Also, manages local git cloning & branch management for jobs. Tuesday, February 28, 12
  14. The Future Near Zero-Config installation Status API for DefCon Screens,

    etc. Web form based Configuration Server Pool Visibility & Server Pool Management Log Capturing, Processing, Referencing Job & Notification Plugin Architecture taking feature requests @ http://github.com/cyphactor/octopusci/issues Tuesday, February 28, 12