Skip to content

Instantly share code, notes, and snippets.

@gwithers
Last active August 29, 2015 14:20
Show Gist options
  • Save gwithers/0bb414ee4e178bc6d308 to your computer and use it in GitHub Desktop.
Save gwithers/0bb414ee4e178bc6d308 to your computer and use it in GitHub Desktop.
Implementation Plan: reliable reports deployment
Integration Plan: reliable reports deployment
By Barry and George
05/04/15
Deploys changes to production enabling reliable reports deployment by using individual databases preventing outage from spreading if import fails.
<< preparation - systems unaffected >>
1. Cherry pick change in Phoenix to production
eb95d970707b624b91c4f0d46fb7f80a9c8cc40b
2. Create four new jasperserver pro databases (RDS based) - one for each node (2x UI and 2x Job)
3. Initially populate each database
3a. Initialize - db's already created but confirm initialization
3b. Load (Gemini import)
4. Update production.json in Phoenix with values for new databases
<< now ready for deployment processes >>
5. Manually change configuration for report servers
(This is a one-time change because we need the configuration to cleanly move to the new per database scheme rolling whereas Chef would orchestrate simultaneous)
Places are:
"/etc/tomcat7/Catalina/localhost/jasperserver-pro.xml"
"/usr/local/velareports/deploy/scripts/jasper55/build_conf/default/js.jdbc.properties
"/etc/profile.d/setup_jasper.sh"
5a. Ui server one at a time
5b. Job servers one at a time
6. All systems now restarted looking at individual databases
7. Update production Capistrano script
8. Now truly deploy reports via Capistrano and see no harm
9. PROFIT
//
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment