Automated Configuration & Deployment of Atlassian Applications

987 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
987
On SlideShare
0
From Embeds
0
Number of Embeds
643
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Automated Configuration & Deployment of Atlassian Applications

  1. 1. ATLASSIAN SUMMIT 2013
  2. 2. Automated Configuration and Deployment of Atlassian Applications at Pandora October 3, 2013 Raju Kadam & Myra Chachkin Technical Operations Pandora Media
  3. 3. personalized radio
  4. 4. Raju Kadam Myra Chachkin your humble presenters
  5. 5. deployment & configuration - then and now
  6. 6. BEGINNINGS
  7. 7. the olden days
  8. 8. no safety net
  9. 9. no rollback
  10. 10. labor-intensive configuration
  11. 11. GROWTH
  12. 12. expansion and integration
  13. 13. more apps and links
  14. 14. sandboxes
  15. 15. more testers, more features to test • new projects, workflows, etc. • new plugins • new products & product versions
  16. 16. dev, stage, and prod
  17. 17. more instances and requirements • dev: for experimenting • stage: for proofing • prod: for real
  18. 18. WHAT WE NEED
  19. 19. repeatability for speed & accuracy
  20. 20. parallel deploy for reduced risk
  21. 21. distinct environments for distinct uses
  22. 22. DEV ATLASSIAN APPLICATION RELEASE CYCLE STAGE PROD complexity
  23. 23. OUR SOLUTION
  24. 24. debian packaging
  25. 25. our in-house packaging • binary file archives • standard & custom packages • standard & custom tools
  26. 26. SYSDB
  27. 27. DEPLOYMENT
  28. 28. build the jira package • get the tarfile • customize • verify
  29. 29. copy everything to the server
  30. 30. $ cat jira-rsync.conf # On <DESTHOST>, run as user jira: # rsync --daemon --port=1234 # --config=/home/jira/jira-5.2.6-rsync.conf # Then on <SOURCEHOST>, run as user jira: # cd /home/jira/jira-4.4.1-data; # rsync -aHPv --port=1234 # --progress caches data plugins # DESTHOST::jira-5.2.6 [jira-5.2.6] path = jira-5.2.6-data use chroot = false readonly = false uid = jira gid = jira
  31. 31. CONFIGURATION
  32. 32. common customizations • ssl proxy • jvm memory settings • session timeout • template customizations • added files
  33. 33. notification email template old behavior – Subject: (Jira) Resolved: [OPS-123] package Jira new behavior – Subject: (Jira) [OPS-123] package Jira We liked it the old way!
  34. 34. custom email template
  35. 35. We needed this one! priority thumbnail files
  36. 36. unpackaged common settings • ldap user directory • internal admin user
  37. 37. per-environment customizations DEV STAGE PROD • env-specific app behavior • self-contained suite for each env
  38. 38. ` look and feel
  39. 39. more environment settings in the db • base url • whitelist urls • email prefix • server license
  40. 40. application links
  41. 41. per-instance customizations DEV STAGE PROD • unique instance identifier • unique ports
  42. 42. unique identifier per instance • instance id: app/version/env such as “jira-5.2.6-dev” • uniquely identifies: • installation & data directories • virtualhost name • database name • init script name
  43. 43. don’t connect dev to the prod db!
  44. 44. user data, or config settings? • projects • project components & versions • global and per-project roles • custom fields, screens, & workflows • permission & notification schemes
  45. 45. OUR GOAL
  46. 46. our goal: package everything
  47. 47. whatever gets it done!
  48. 48. not the standard Atlassian way
  49. 49. advantages of our way • for deployments • for upgrades • for customizations
  50. 50. FUTURE
  51. 51. future improvements • more configuration • better server management • easier refresh • content cleanup • refactoring?
  52. 52. TMTOWTDI There’s More Than One Way To Do It...
  53. 53. Thank you! raju@pandora.com myra@pandora.com
  54. 54. Rate this Talk Automated Configuration & Deployment of Atlassian Applications Text code below to 22333 or visit http://bit.ly/19K6NRq MEH = 5N NO T BA D = 5P P R ET T Y GO O D = 5Q A WES O ME = 5R To join this session, send text 136888 to

×