Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How do you implement Continuous Delivery? Part 2: Code Management

7,377 views

Published on

'How do I manage my codebase? How do I release incomplete work?' Explore ways in Part 2 in our series of putting CD into practice - Code Management

Published in: Technology, Education
  • Dating direct: ❶❶❶ http://bit.ly/2u6xbL5 ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ❶❶❶ http://bit.ly/2u6xbL5 ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

How do you implement Continuous Delivery? Part 2: Code Management

  1. 1. HOW DO YOU IMPLEMENT CONTINUOUS DELIVERY? Part 2: Code Management Share this ebook. PERSPECTIVES
  2. 2. HOW DO I MANAGE MY CODEBASE? 2
  3. 3. Reliable delivery of software Faster time to market How do different development streams… Trunk Team Pink Team Green How do I manage my codebase?
  4. 4. Reliable delivery of software Faster time to market How do different development streams…integrate… Trunk Merging Team Pink’s Repository Branch Merging Team Green’s Repository Branch 1 1 1 111 2 2 2 2 2 3 3 3 4 4 5 1 2 3 4 1 2 3 1 2 1 How do I manage my codebase?
  5. 5. Reliable delivery of software Faster time to market Without the merge conflicts of feature- branching? Trunk 1 1 1 111 2 2 2 2 2 3 3 3 4 4 5 1 2 3 4 1 2 3 1 2 1 2 3 4 1 1 23 4 5 How do I manage my codebase?
  6. 6. Reliable delivery of software By Continuously Integrating Trunk Faster time to market 3 4 5 2 1 1 2 3 4 2 3 41 1 2 3 4 5 How do I manage my codebase?
  7. 7. Some key CI practicesHow do I manage my codebase? Everyone commits to trunk at least daily Automated tests are run for every commit Avoid branches http://martinfowler.com/articles/continuousIntegration.html
  8. 8. What about large codebases?How do I manage my codebase?
  9. 9. What about large codebases?How do I manage my codebase? Modularization Micro-services
  10. 10. HOW DO I RELEASE INCOMPLETE WORK? 10
  11. 11. Using Feature TogglesHow do I release incomplete work? [featureToggles] wobblyFoobars: true flightyForkHandles: false <toggle name=wobblyFoobars> ... various UI elements </toggle> forkHandle = (featureConfig.isOn(‘flightlyForkHandles)) ? new FlightyForkHander(aCandle) : new ForkHandler(aCandle) Config File some.jsp other.java
  12. 12. Using Branch by AbstractionHow do I release incomplete work? Application Library New Library http://paulhammant.com/blog/branch_by_abstraction.html/
  13. 13. Using Branch by AbstractionHow do I release incomplete work? Application Library New Library Interface
  14. 14. Using Branch by AbstractionHow do I release incomplete work? Application Library New Library Interface Implements
  15. 15. Using Branch by AbstractionHow do I release incomplete work? Application New Library Interface Implements
  16. 16. Using Branch by AbstractionHow do I release incomplete work? Application New Library
  17. 17. ALL ABOUT PIPELINES 17 Stay tuned for Part 3…
  18. 18. LEARN MORE Deploy a great product faster. Agile teams deliver working software early and often. Go automates and streamlines the build-test- release cycle for worry-free, continuous delivery of your product. Share this ebook. Visit our Continuous Delivery Channel for more posts like this.

×