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

[deSymfony] Trovit Deployment pipeline

albertplaya
September 16, 2016

[deSymfony] Trovit Deployment pipeline

Trovit Deployment pipeline using ansible and jenkins pipeline

albertplaya

September 16, 2016
Tweet

Other Decks in Technology

Transcript

  1. OLD TROVIT DEPLOYMENT - BUILD 1 PROJECT PROJECT FRAMEWORK symlink

    ✔ BUILD SIZE ✘ BUILD DEPENDENCY ✘ QA INSECURITY
  2. OLD TROVIT DEPLOYMENT - BUILD X PROJECTS PROJECT 1 FRAMEWORK

    symlink PROJECT 2 symlink PROJECT 3 symlink
  3. ✔ BUILD SIZE ✘ DEPENDENCY ✘ QA INSECURITY ✘ COMPLEXITY

    ✘ COMMUNICATION ✘ C&P BASH SCRIPTS ✘ CHANGELESS OLD TROVIT DEPLOYMENT - BUILD X PROJECTS
  4. DEPLOYMENT WITHOUT SYMBOLIC LINK ✔ UPLOAD ONLY MODIFIED FILES (rsync)

    ✘ SLOW ROLLBACK ✘ ERRORS 500! ✘ SERVERS WITH DIFFERENT VERSIONS
  5. DEPLOYMENT WITH SYMBOLIC LINK ✔ FAST VERSION INSTALLATION ✔ SERVERS

    WITH THE SAME VERSION ✔ IMMEDIATE ROLLBACK ✔ AVOID ANY ERRORS DURING THE DEPLOY ✘ SLOW UPLOAD
  6. RELEASE • Change symbolik link (with symbolic link ) •

    Php bin/console cache:clear --env=prod --no-debug • Clean opcache • Apache graceful
  7. DEPLOYMENT SYSTEM OVERVIEW • Copy-Paste. • Poor design (rigidity, fragility,

    immobility, viscosity). • Command line execution. • Slow deploys (20 minutes!!!). • Multi builds for different environments. • Some projects with releases and others without. • Production errors!
  8. +

  9. +

  10. ABOUT ANSIBLE App deployment, configuration management and orchestration. • Minimal

    in nature • Consistent • Secure • Highly reliable • Low learning curve INFRASTRUCTURE AS CODE • Cost reduction • Faster execution • Remove errors and security violations
  11. QA WORKFLOW QA SYSTEM TO BE TESTED AUTOMATED TESTING PRACTICES

    TESTING PLATFORM TEST ADMINISTRA TOR TESTING TOOLS TEST LIBRARY
  12. WIKI • ANSIBLE: https://www.ansible.com/ • ANSIBLE DEPLOY HELPER: https://docs.ansible.com/ansible/deploy_helper_module.html •

    JENKINS: https://jenkins.io/solutions/pipeline • BLUE GREEN DEPLOYMENT: http://martinfowler.com/bliki/BlueGreenDeployment.html • KUBERNETES: http://kubernetes.io/ • DOCKER: https://www.docker.com/ • NETFLIX: http://techblog.netflix.com/2015/11/global-continuous-delivery-with.html • ETSY: https://www.infoq.com/news/2014/03/etsy-deploy-50-times-a-day • CONTINUOUS INTEGRATION VS CONTINUOUS DELIVERY VS CONTINUOUS DEPLOYMENT: http://stackoverflow.com/questions/28608015/continuous-integration-vs-continuous-delivery-vs-continuou s-deployment • PMP: https://en.wikipedia.org/wiki/Project_Management_Body_of_Knowledge • TROVIT: https://www.youtube.com/channel/UCz8S73iKoCom2RN8B8l-Heg • TROVIT CAREERS: http://careers.trovit.com/