Skip to content

V2 Launch Checklist

rymai edited this page Nov 29, 2011 · 21 revisions

Before Launch

mysublime / sublime / docssublime

  • Setup maintenance page (config: MAINTENANCE_PAGE_URL)

sublimevideo

datasublimevideo

  • DONE - Add SSL Heroku Certificate
  • DONE - Setup new Pusher config variable
  • DONE - Setup new MongoHQ config variable

secondsticker

  • DONE - Setup new Pusher config variable

sublimevideo-staging

  • DONE - Use MongoHQ sublimevideo databases and import mysublime production data
    • DONE - Run rake db:mongoid:create_indexes
  • 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.
  • 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:

backupsjilion

  • DONE - Prepare backups with new PostgreSQL/MongoHQ dbs

Launch day

mysublime / sublime / docssublime

  • 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)

datasublimevideo

  • Stop dynos

sublimevideo

  • 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

backupsjilion

  • Launch last backups with old config

sublimevideo

  • Import MongoHQ data from mysublime production app (freshly exported)
    • Run rake db:mongoid:create_indexes
  • Create new Ronin database on http://postgres.heroku.com
  • Import PostgreSQL data from mysublime production app (freshly exported)
    • Run migrations
    • Run rake tasks:
      1. Set name for users with first_name.to_s + ' ' last_name.to_s: heroku run rake one_time:users:set_name_from_first_and_last_name (~3 minutes).
      2. Set users' billing info' name: heroku run rake one_time:users:set_billing_info (~80 seconds).
      3. 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).
      4. Create V2 plans: heroku run rake one_time:plans:create_v2_plans (~20 seconds).
      5. Migrate current sites plans to new plans: heroku run rake one_time:sites:current_sites_plans_migration (~5 minutes).
      6. Set the badged attribute for every non-archived users: heroku run rake one_time:sites:set_badged
      7. Update Site last 30 days counters heroku run rake one_time:sites:update_last_30_days_counters_for_not_archived_sites (~15 minutes).
      8. Update all licenses: heroku run rake one_time:sites:regenerate_all_loaders_and_licenses
  • 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:

datasublimevideo

  • Start 3 dynos

backupsjilion

  • Deploy new backups config (v2 branch)
  • Test that all new dbs have been almost backed-up once

sublimevideo

  • $ 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)

jilion

mysublime / mysublime-staging / sublime / sublime-staging / docssublime / docssublime-staging

  • Destroy app (and all subscribed addons with)