Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TYPO3 CMS deployment with Jenkins CI

2,989 views

Published on

- why use CI for deployment
- what we do with Jenkins CI
- prerequisites for TYPO3 CMS deployment
- How to deploy TYPO3 6.2

Published in: Software
  • Be the first to comment

TYPO3 CMS deployment with Jenkins CI

  1. 1. TYPO3 deployment with Jenkins Daniel Klockenkämper @derdanne T3CRR 2014
  2. 2. before Jenkins
  3. 3. multiple people working on every deployment
  4. 4. we were really slow
  5. 5. deployment quality was low
  6. 6. rarely deployed big changes
  7. 7. rollbacks were painful
  8. 8. the classics:
  9. 9. technically that should work ...
  10. 10. that worked on dev ...
  11. 11. since when we have this in prod?
  12. 12. let’s debug in production, yay
  13. 13. Let’s check out our mission objectives!
  14. 14. velocity
  15. 15. quality
  16. 16. simplicity
  17. 17. workflow reflection
  18. 18. automation
  19. 19. let us write some shell scripts!
  20. 20. OK, bad idea - so why Jenkins?
  21. 21. natively supports our favorite versioning system svn, git, cvs ...
  22. 22. it is easy to install
  23. 23. it has dozens of plugins
  24. 24. it uses build management tools like ant or maven
  25. 25. you can trigger build jobs from external sources
  26. 26. easy to monitor
  27. 27. REST API XML, JSON, Python
  28. 28. you can use notifications email, jabber, ...
  29. 29. it is free!
  30. 30. everybody loves pushing buttons!
  31. 31. cool story bro!
  32. 32. what are we doing with it?
  33. 33. testing code syntax, unit, integration ...
  34. 34. deployment to our environments user-dev, dev, staging, live
  35. 35. synchronize environments from live
  36. 36. test performance of our live websites
  37. 37. minify css concatenate js compile sass
  38. 38. any prerequisites for deployment?
  39. 39. use a versioning system!!!
  40. 40. strictly separate configs from userdata
  41. 41. do not push userdata in your versioning system!
  42. 42. develop in local environment (vagrant?)
  43. 43. force devs to not insert TS in DB
  44. 44. force be users to not change config or install / change extensions
  45. 45. install extensions: coreapi (6.2) cleartypo3cache and t3deploy (4.5)
  46. 46. then which steps to deploy TYPO3 6.2 code to production?
  47. 47. new tag of code triggers minify/concat job
  48. 48. anybody could now push the code to production even the project manager :)
  49. 49. tests syntax of files that have changed
  50. 50. checks for modifications on the target
  51. 51. checks out code on the target system
  52. 52. reverts typo3conf/PackageStates.php
  53. 53. deletes temporary files in typo3temp Cache/* compressor/* cs/* llxml/* sprites/* rtehtmlarea*
  54. 54. clears opcache code of php opcache_reset();
  55. 55. generates new TYPO3 opcode cache using curl request
  56. 56. clears cache in db: cli_dispatch.phpsh extbase cacheapi:clearallcaches
  57. 57. updates the database: cli_dispatch.phpsh extbase databaseapi:databasecompare 4,2,3
  58. 58. triggers frontend testing suite (sitespeed.io)
  59. 59. sends notification when build was not successful

×