automated configuration & deployment of atlassian applications
DESCRIPTION
TRANSCRIPT
![Page 1: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/1.jpg)
ATLASSIAN SUMMIT 2013
![Page 2: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/2.jpg)
Automated Configuration and Deployment of Atlassian Applications at Pandora
October 3, 2013
Raju Kadam & Myra ChachkinTechnical Operations
Pandora Media
![Page 3: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/3.jpg)
personalized radio
![Page 4: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/4.jpg)
your humble presenters
Raju Kadam Myra Chachkin
![Page 5: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/5.jpg)
deployment & configuration - then and now
![Page 6: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/6.jpg)
BEGINNINGS
![Page 7: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/7.jpg)
the olden days
![Page 8: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/8.jpg)
no safety net
![Page 9: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/9.jpg)
no rollback
![Page 10: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/10.jpg)
labor-intensive configuration
![Page 11: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/11.jpg)
GROWTH
![Page 12: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/12.jpg)
expansion and integration
![Page 13: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/13.jpg)
more apps and links
![Page 14: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/14.jpg)
sandboxes
![Page 15: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/15.jpg)
more testers, more features to test
• new projects, workflows, etc.
• new plugins
• new products & product versions
![Page 16: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/16.jpg)
dev, stage, and prod
![Page 17: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/17.jpg)
more instances and requirements
• dev: for experimenting
• stage: for proofing
• prod: for real
![Page 18: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/18.jpg)
WHAT WE NEED
![Page 19: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/19.jpg)
repeatability for speed & accuracy
![Page 20: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/20.jpg)
parallel deploy for reduced risk
![Page 21: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/21.jpg)
distinct environments for distinct uses
![Page 22: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/22.jpg)
complexity
DEV
STAGE
PROD
ATLASSIAN APPLICATION
RELEASE CYCLE
![Page 23: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/23.jpg)
OUR SOLUTION
![Page 24: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/24.jpg)
debian packaging
![Page 25: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/25.jpg)
our in-house packaging
• binary file archives
• standard & custom packages
• standard & custom tools
![Page 26: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/26.jpg)
![Page 27: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/27.jpg)
SYSDB
![Page 28: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/28.jpg)
DEPLOYMENT
![Page 29: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/29.jpg)
build the jira package
• get the tarfile
• customize
• verify
![Page 30: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/30.jpg)
copy everything to the server
![Page 31: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/31.jpg)
$ 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-datause chroot = falsereadonly = falseuid = jiragid = jira
$ 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-datause chroot = falsereadonly = falseuid = jiragid = jira
![Page 32: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/32.jpg)
CONFIGURATION
![Page 33: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/33.jpg)
common customizations
• ssl proxy
• jvm memory settings
• session timeout
• template customizations
• added files
![Page 34: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/34.jpg)
![Page 35: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/35.jpg)
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!
![Page 36: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/36.jpg)
custom email template
![Page 37: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/37.jpg)
priority thumbnail files
We needed this one!
![Page 38: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/38.jpg)
unpackaged common settings
• ldap user directory
• internal admin user
![Page 39: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/39.jpg)
per-environment customizations
• env-specific app behavior
• self-contained suite for each env
DEV
STAGE
PROD
![Page 40: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/40.jpg)
![Page 41: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/41.jpg)
![Page 42: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/42.jpg)
![Page 43: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/43.jpg)
look and feel
`
![Page 44: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/44.jpg)
more environment settings in the db
• base url
• whitelist urls
• email prefix
• server license
![Page 45: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/45.jpg)
application links
![Page 46: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/46.jpg)
per-instance customizations
• unique instance identifier
• unique ports
DEV
STAGE
PROD
![Page 47: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/47.jpg)
unique identifier per instance
• instance id: app/version/envsuch as “jira-5.2.6-dev”
• uniquely identifies:• installation & data directories
• virtualhost name
• database name
• init script name
![Page 48: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/48.jpg)
don’t connect dev to the prod db!
![Page 49: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/49.jpg)
user data, or config settings?
• projects
• project components & versions
• global and per-project roles
• custom fields, screens, & workflows
• permission & notification schemes
![Page 50: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/50.jpg)
OUR GOAL
![Page 51: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/51.jpg)
our goal: package everything
![Page 52: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/52.jpg)
whatever gets it done!
![Page 53: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/53.jpg)
not the standard Atlassian way
![Page 54: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/54.jpg)
• for deployments
• for upgrades
• for customizations
advantages of our way
![Page 55: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/55.jpg)
FUTURE
![Page 56: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/56.jpg)
future improvements
• more configuration
• better server management
• easier refresh
• content cleanup
• refactoring?
![Page 57: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/57.jpg)
TMTOWTDIThere’s More Than One Way To Do It...
![Page 59: Automated Configuration & Deployment of Atlassian Applications](https://reader033.vdocuments.mx/reader033/viewer/2022051013/547b9ee4b4795983098b4e6e/html5/thumbnails/59.jpg)
Text code below to 22333or visit http://bit.ly/19K6NRq
Automated Configuration & Deployment of Atlassian Applications
To join this session, send text 136888 to
AWESOME = 5R
PRETTY GOOD = 5Q
NOT BAD = 5P
MEH = 5N
Rate this Talk