Opinionated continuous delivery
Upcoming SlideShare
Loading in...5
×
 

Opinionated continuous delivery

on

  • 167 views

A very opinionated continuous delivery implementation. It's not perfect, it may or may not work for your organisation, but it tries to follow the sense of correctness and conventions agreed by all ...

A very opinionated continuous delivery implementation. It's not perfect, it may or may not work for your organisation, but it tries to follow the sense of correctness and conventions agreed by all stakeholder.

Statistics

Views

Total Views
167
Views on SlideShare
167
Embed Views
0

Actions

Likes
1
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Opinionated continuous delivery Opinionated continuous delivery Presentation Transcript

    • Opinionated Continuous Delivery Dwi Sasongko S <ruckuus@gmail.com>
    • Challenges ● How can I deploy this to production? ● How can I be sure that this will work in production? ● How long does it take to go to production?
    • Answers Question #1 How can I deploy this to production? ● Delivery Pipeline ● Stages ● Automation from day one ● Discipline
    • Q#1 How can I deploy this to production? ● Delivery Pipeline o Build once, promote to different environment/stages o Deploy early, break early, fix early o Master/trunk as production ready branch  No revert, but incremental changes
    • Q#1 How can I deploy this to production? ● Stages o Development  Developer o Test  Developer + QA o Integration  QA o Staging  QA o Production  Everyone
    • Q#1 How can I deploy this to production? ● Automation from day one o Infrastructure as code  puppetize! o Avoid dirty hack  Never SSH to machine  Use API whenever possible o One click deployment  Launch machine and provision  Automated code deployment
    • Q#1 How can I deploy this to production? ● Discipline o … best practices o … conventions or configuration? o Company as one big team o It’s not about you and me, it’s about us! o If I screw up, I will screw the whole company!
    • Answers Question #2 How can I be sure that this will work in production? ● Environment similarity ● Build/Deploy similarity ● Efficient testing
    • Q#2 How can I be sure that this will work in production? ● Environment setup matters o development on top of virtual machine, same setup as production o other environments are small sets of production machine o same configuration on every environment
    • Q#2 How can I be sure that this will work in production? ● Build/Deploy similarity o Same package for all environment o Same deployment step for all environment o A switch to differentiate each environment o Differences on configuration for each environment  Test different configuration  More eyes to verify changes
    • Q#2 How can I be sure that this will work in production? ● Efficient testing o Unit test during build time  unit test & coverage o Automated Smoke & Functional test in test/integration  Feature = Feature + Test o Automated Regression test in staging o Post deployment test
    • Answers Question #3 How long does it take to go to production? ● 10 minutes o Parallel provisioning o Parallel deployment o Parallel testing
    • Responsibility vs Headache ● Whose responsibility? o Everyone’s responsibility ● Whose headache o Everyone’s headache
    • Tools ● vagrant (http://www.vagrantup.com/) ● puppet (http://puppetlabs.com/) ● jenkins (http://jenkins-ci.org/) ● docker (http://www.docker.com/) ● phantomjs (http://phantomjs.org/) ● casperjs (http://casperjs.org/)