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

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.

David Winter

March 16, 2016
Tweet

Other Decks in Technology

Transcript

  1. Building a
    Continuous Delivery
    Pipeline
    in 5 minutes

    View full-size slide

  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!

    View full-size slide

  3. Before we start…

    View full-size slide

  4. What is
    Continuous Delivery
    to us?

    View full-size slide

  5. Continuous Delivery =
    Continuous Integration +
    Automated Deploys

    View full-size slide

  6. Continuous Integration

    View full-size slide

  7. Commit early and often

    View full-size slide

  8. Push to master hourly

    View full-size slide

  9. Faster feedback loop

    View full-size slide

  10. Focus on delivering
    smaller releasable features

    View full-size slide

  11. Boring Deploys
    Automated Deploys

    View full-size slide

  12. More frequent deploys

    View full-size slide

  13. Smaller deploys

    View full-size slide

  14. Deployments are easier…

    View full-size slide

  15. …and less scary

    View full-size slide

  16. Build Continuous Staging Production
    Continuous Pipeline

    View full-size slide

  17. Build Continuous Staging Production
    Continuous Pipeline

    View full-size slide

  18. Build Continuous Staging Production
    Continuous Pipeline

    View full-size slide

  19. Build Continuous Staging Production
    Continuous Pipeline

    View full-size slide

  20. Build Continuous Staging Production
    Continuous Pipeline

    View full-size slide

  21. We are
    Continuous Delivery
    evangelists

    View full-size slide

  22. Every client project
    has a pipeline

    View full-size slide

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

    View full-size slide

  24. Historically setup has
    been quite manual…

    View full-size slide

  25. Automate all the things

    View full-size slide

  26. Create a pipeline with
    one command
    make jenkins

    View full-size slide

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

    View full-size slide

  28. Terraform Ansible Jenkins Makefile
    Orchestration Provisioning Pipeline Glue

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  31. Terraform Ansible Jenkins Makefile
    Orchestration Provisioning Pipeline Glue

    View full-size slide

  32. Terraform Ansible Jenkins Makefile
    Orchestration Provisioning Pipeline Glue

    View full-size slide

  33. Terraform Ansible Jenkins Makefile
    Orchestration Provisioning Pipeline Glue

    View full-size slide

  34. An example app

    View full-size slide

  35. Hosted on a PaaS:
    Pivotal

    View full-size slide

  36. Ruby on Rails

    View full-size slide

  37. Taking it further

    View full-size slide

  38. Inject project as
    argument to Makefile

    View full-size slide

  39. Optional support for
    blue/green
    deployments

    View full-size slide

  40. Canary deploys

    View full-size slide

  41. Support for Capistrano
    and more

    View full-size slide

  42. Build and deploy steps
    with docker

    View full-size slide

  43. Support multiple
    projects/pipelines

    View full-size slide

  44. Our book
    madetech.com/book

    View full-size slide

  45. Any questions?

    View full-size slide