-
Notifications
You must be signed in to change notification settings - Fork 0
V2 Launch Checklist
rymai edited this page Nov 29, 2011
·
21 revisions
- Setup maintenance page (config: MAINTENANCE_PAGE_URL)
-
DONE - Add SSL Heroku Certificate
-
DONE - Buy Hicharts Single Developer License $360
-
DONE - Subscribe to Pusher Startup plan ($49/m) and set config variables
-
DONE - Create/Subscribe to new MongoHQ custom deployment (~$240/m) and set config variable
-
DONE - Add Sendgrid Bronze Heroku addon ($9.95/m)
-
DONE - Add Memcache 100MB Heroku addon ($20/m)
-
DONE - Add Other free Heroku addons (custom_domains:basic, custom_error_pages, logging:expanded, newrelic:standard, pgbackups:basic, releases:basic)
-
DONE - Copy all config variable from mysublime app (Ogone, S3, Twitter, Zendesk)
-
DONE - Setup asset-sync with good S3 & Cloudfront accounts
-
Setup maintenance page (config: MAINTENANCE_PAGE_URL)
-
Design custom maintenance
- DONE - Add SSL Heroku Certificate
- DONE - Setup new Pusher config variable
- DONE - Setup new MongoHQ config variable
- DONE - Setup new Pusher config variable
- DONE - Use MongoHQ sublimevideo databases and import mysublime production data
- DONE - Run
rake db:mongoid:create_indexes
- DONE - Run
- Use PostgreSQL sublimevideo databases and import mysublime production data
- Run migrations:
heroku run rake db:migrate
. - Test all rake tasks described on sublimevideo app for Launch Day (BUT SKIP!!! Update all licenses)
- Update a license with
Site.update_loader_and_license(site.id, { loader: true, license: true })
and check that its content is correct according to the new license template.
- Run migrations:
- Import old svs PostgreSQL data:
heroku run rake db:data:load file=db/enthusiasts_and_enthusiast_sites_from_old_svs_production.yml
- Set real paths in GetSatisfaction's Fastpass configuration to:
- Fastpass return URL: https://sublimevideo-staging.net (or https://my.sublimevideo-staging.net ?)
- External login URL: https://sublimevideo-staging.net/gs-login
- DONE - Prepare backups with new PostgreSQL/MongoHQ dbs
- Remove all delayed job by hands
- $ heroku maintenance:on
- Stop workers/dynos/cron
- Remove heroku domains (sublimevideo.net, www.sublimevideo.net, my.sublimevideo.net, docs.sublimevideo.net, api.sublimevideo.net, admin.sublimevideo.net)
- Stop dynos
- Deploy new SV Player (before licenses update)
- $ heroku maintenance:on
- Setup heroku domains (sublimevideo.net, www.sublimevideo.net, my.sublimevideo.net, docs.sublimevideo.net, api.sublimevideo.net, admin.sublimevideo.net)
- Be sure to have 0 dynos/workers/cron
- Launch last backups with old config
- Import MongoHQ data from mysublime production app (freshly exported)
- Run
rake db:mongoid:create_indexes
- Run
- Create new Ronin database on http://postgres.heroku.com
- Import PostgreSQL data from mysublime production app (freshly exported)
- Run migrations
- Run rake tasks:
- Set
name
for users withfirst_name.to_s + ' ' last_name.to_s
:heroku run rake one_time:users:set_name_from_first_and_last_name
(~3 minutes). - Set users' billing info' name:
heroku run rake one_time:users:set_billing_info
(~80 seconds). - Set trial_started_at for sites created before v2:
heroku run rake one_time:sites:set_trial_started_at_for_sites_created_before_v2
(~20 seconds). - Create V2 plans:
heroku run rake one_time:plans:create_v2_plans
(~20 seconds). - Migrate current sites plans to new plans:
heroku run rake one_time:sites:current_sites_plans_migration
(~5 minutes). - Set the badged attribute for every non-archived users:
heroku run rake one_time:sites:set_badged
- Update Site last 30 days counters
heroku run rake one_time:sites:update_last_30_days_counters_for_not_archived_sites
(~15 minutes). - Update all licenses:
heroku run rake one_time:sites:regenerate_all_loaders_and_licenses
- Set
- Import old svs PostgreSQL data:
heroku run rake db:data:load file=db/enthusiasts_and_enthusiast_sites_from_old_svs_production.yml
(~30 seconds). - Set real paths in GetSatisfaction's Fastpass configuration to:
- Fastpass return URL: https://my.sublimevideo.net
- External login URL: https://my.sublimevideo.net/gs-login
- Start 3 dynos
- Deploy new backups config (v2 branch)
- Test that all new dbs have been almost backed-up once
- $ heroku maintenance:off (but custom maintenange page still in place)
- Set 3 workers / 5 dynos
- Test app
- Check that the app is running well
- Create a new site with a paid plan without credit card, check it's in trial, check the license content
- Update its settings, check that the license is updated accordingly
- Change its plan (it should be changed immediately), check that the license is updated accordingly
- Create a new site with a free plan, check everything is ok, check the license content
- Update its settings, check that the license is updated accordingly
- Change its plan (it should be changed immediately), check that the license is updated accordingly
- Create a new site with a paid plan, skipping trial, it should be asked to enter billing infos first. enter billing infos and retry. Check it's not in trial, check the license content.
- Check stats page...
- $ heroku maintenance:on
- Remove custom maintenance page and redeploy
- Add
rake scheduler:supervise_jobs
on scheduler add-on - $ heroku maintenance:off (READY to be used)
- Deploy http://jilion.com/press/sublimevideo
- Blog / Twitter / ...
- Destroy app (and all subscribed addons with)