Pro Yearly is on sale from $80 to $50! »

Lean DUS: Continuous Delivery bei sipgate

Abcc1423793d91ee64862d48a2a9fb09?s=47 Lean DUS
March 25, 2015

Lean DUS: Continuous Delivery bei sipgate

Entwickler Ben Kluck beschäftigt sich gemeinsam mit drei weiteren Entwicklern seit ein paar Wochen mit dem Thema Continuous Delivery. In seinem Talk erzählt er, wie sipgate mit 36 Entwicklern und 54 Softwaresystemen überhaupt Software ausrollt und wie man sie bei Fehlern auch wieder zurückrollt.

Abcc1423793d91ee64862d48a2a9fb09?s=128

Lean DUS

March 25, 2015
Tweet

Transcript

  1. Continuous Delivery "Fuck It, Ship It!”

  2. sipgate - 60+ Commiters - 10+ Teams - 50+ Software

    Systems - C, Java, Perl, PHP, HTML, CSS, JS - Debian - Scrum/Kanban
  3. Terminology Continuous Integration vs. Continuous Delivery vs. Continuous Deployment

  4. Continuous Integration http://blog.assembla.com/AssemblaBlog/tabid/12618/bid/92411/Continuous-Delivery-vs-Continuous-Deployment-vs-Continuous-Integration-Wait-huh.aspx https://puppetlabs.com/blog/continuous-delivery-vs-continuous-deployment-whats-diff

  5. Continuous Delivery http://blog.assembla.com/AssemblaBlog/tabid/12618/bid/92411/Continuous-Delivery-vs-Continuous-Deployment-vs-Continuous-Integration-Wait-huh.aspx https://puppetlabs.com/blog/continuous-delivery-vs-continuous-deployment-whats-diff

  6. Continuous Deployment http://blog.assembla.com/AssemblaBlog/tabid/12618/bid/92411/Continuous-Delivery-vs-Continuous-Deployment-vs-Continuous-Integration-Wait-huh.aspx https://puppetlabs.com/blog/continuous-delivery-vs-continuous-deployment-whats-diff

  7. B(u)y The Book

  8. Deployment Pipeline http://en.wikipedia.org/wiki/Continuous_delivery

  9. Deployment Pipeline https://wiki.jenkins-ci.org/display/JENKINS/Delivery+Pipeline+Plugin

  10. Tools Jenkins

  11. Tools - Jenkins Debian Glue - http://jenkins-debian-glue.org/ - Jenkins Job

    Builder - http://ci.openstack.org/jenkins-job-builder/
  12. The Big Picture 1. Commit 2. Hook to Jenkins 3.

    Clone from GitHub 4. Build Debian Package 5. Upload Debian Package 6. Trigger Update 7. Get Package from Mirror 1. 2. 3. 4. 5. 6. 7.
  13. Deployment Pipeline

  14. Build - Compilation - Dependency Managers - maven, cpanm, composer

    - Unit Tests - JUnit, Test::More, PHPUnit - Integration Tests - Sandbox
  15. Deployment Pipeline

  16. Deploy 1. Disable Monitoring 2. Disable Load Balancing 3. Shutdown

    Service 4. Update Debian Package 5. Start Service 6. Test Service 7. Enable Load Balancing 8. Enable Monitoring
  17. Lessons Learned - Take your time - Good things take

    time - “WTF?” - Resist building workarounds - Fix the problem - Use the same name everywhere - Jenkins, Debian Package, HAProxy, Icinga
  18. Questions?

  19. lunch.sipgate.de Hungry?