Building a Continuous Delivery Pipeline in 5 minutes

Building a Continuous Delivery Pipeline in 5 minutes

David Winter from Made Tech will be talking about using Terraform to build a Continuous Delivery pipeline. David will show us how Made are using Terraform, Ansible and Jenkins to deploy their client's applications to AWS with Continuous Delivery. This setup is allowing Made to get new applications up and running in production with just a few commands.

66de56f8beba02f11c262937e1405895?s=128

David Winter

March 16, 2016
Tweet

Transcript

  1. Building a Continuous Delivery Pipeline in 5 minutes

  2. @davidwinter • Work at Made Tech • Have a passion

    for automating infrastructure and tooling • Co-author of our new book ‘A Field Guide to Continuous Delivery’ WE’RE HIRING!
  3. Before we start…

  4. What is Continuous Delivery to us?

  5. Continuous Delivery = Continuous Integration + Automated Deploys

  6. Continuous Integration

  7. Commit early and often

  8. Push to master hourly

  9. Faster feedback loop

  10. Focus on delivering smaller releasable features

  11. Boring Deploys Automated Deploys

  12. More frequent deploys

  13. Smaller deploys

  14. Deployments are easier…

  15. …and less scary

  16. Build Continuous Staging Production Continuous Pipeline

  17. Build Continuous Staging Production Continuous Pipeline

  18. Build Continuous Staging Production Continuous Pipeline

  19. Build Continuous Staging Production Continuous Pipeline

  20. Build Continuous Staging Production Continuous Pipeline

  21. We are Continuous Delivery evangelists

  22. Every client project has a pipeline

  23. Deploy to production* from Day One *or production-like environment

  24. Historically setup has been quite manual…

  25. Automate all the things

  26. Create a pipeline with one command make jenkins

  27. Our Continuous Delivery stack Terraform Ansible Jenkins Makefile Orchestration Provisioning

    Pipeline Glue
  28. Terraform Ansible Jenkins Makefile Orchestration Provisioning Pipeline Glue

  29. Terraform Ansible Jenkins Makefile Orchestration Provisioning Pipeline Glue Where to

    install to?
  30. Terraform Ansible Jenkins Makefile Orchestration Provisioning Pipeline Glue What to

    install?
  31. Terraform Ansible Jenkins Makefile Orchestration Provisioning Pipeline Glue

  32. Terraform Ansible Jenkins Makefile Orchestration Provisioning Pipeline Glue

  33. Terraform Ansible Jenkins Makefile Orchestration Provisioning Pipeline Glue

  34. An example app

  35. Hosted on a PaaS: Pivotal

  36. Ruby on Rails

  37. Demo time

  38. Taking it further

  39. Inject project as argument to Makefile

  40. Optional support for blue/green deployments

  41. Canary deploys

  42. Support for Capistrano and more

  43. Build and deploy steps with docker

  44. Support multiple projects/pipelines

  45. Our book madetech.com/book

  46. Any questions?