Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Trunk-Based Development and Toggling

- TBD & toggling
- what pre-push code review and test means for further automation
- Jenkins descriptive pipeline script & central libraries

Livres associés

Gratuit avec un essai de 30 jours de Scribd

Tout voir
  • Identifiez-vous pour voir les commentaires

Trunk-Based Development and Toggling

  1. 1. Trunk Based Development & Feature Toggle - Pre-commit Code Review & Test
  2. 2. Toggle Use Case • Business Toggle: ๏ A/B Testing • Low Risk Release and No Downtime ๏ Canary Release, Dark Launch ๏ DB/Schema Migration • Why μService Need FF ๏ Decouple Feature Rollout from Code Deployment
  3. 3. Canary Release
  4. 4. Dark Launch
  5. 5. DB/Schema Migration src: LaunchDarkly
  6. 6. What’s TBD
  7. 7. Decoupling Deployment and Release
  8. 8. Re-planning src: Paul Hammant
  9. 9. What’s the common part of previous toggling scenarios in order to achieve continuous delivery?
  10. 10. ‘‘Get good with build-flags and toggles’’ ‘‘TBD is the best way to implement CI’’ ‘‘TBD enable CD’’ ~ Paul Hammant
  11. 11. ‘‘LinkedIn’s big switch to continuous deployment has been linked to very concrete and visible financial success…’’ ~ Kevin Scott, the senior VP of engineering
  12. 12. src: Paul Hammant
  13. 13. Best Practices • Feature Toggles have a cost ๏ More complex code, more testing, maintenance overhead • Feature Toggles should be regarded as an investment • Implement carefully to minimize complexity and technical debt • Have a good overview over which feature toggles exist, for what purpose, what state they are in and why • Have a process for removing unnecessary feature toggles ๏ Most of them should be temporary • Try to create mutually exclusive toggles and control number of toggles ref: https://www.slideshare.net/TAlexanderLystad/feature-toggling-61333705
  14. 14. Here is the pre-commit verification to rescue!!
  15. 15. Pre-Commit Verification
  16. 16. • Build from local diff, no branch created on git server required • Everyone loves fail in private, abandon your revision and start over as wish • Encourage to check in often Pre-Commit Verification
  17. 17. Pre-Commit Verification
  18. 18. Declarative Pipeline Syntax Checking • Immediate runtime syntax checking with explicit error messages. • API endpoint for linting Jenkinsfiles. • CLI command to lint Jenkinsfiles. Docker Pipeline Plugin Integration • Run all stages in a single container. • Run each stage in a different container. Easy Configuration • Quickly define parameters for your pipeline. • Quickly define environment variables and credentials for your pipeline. • Quickly define options (such as timeout, retry, and build discarding) for your pipeline. Conditional Actions • Send notifications or take actions depending upon success or failure. • Skip stages based on branches, environment, or other Boolean expressions.
  19. 19. Iterate Quickly & Shift Left ref: