Skip to content

Release a new version to production

Daniel Rosenberg edited this page Mar 18, 2016 · 24 revisions

We do a production release by promoting a version from UAT environment:

A. Production server release

From the UAT box:

1. Push binaries to a temp area

root@lgdev1:/# scp -rp /opt/littlegenius/app [email protected]:/opt/littlegenius/new

From the Prod box (perform these steps as quick as possible to minimize down time):

  • Stop the process root# service littlegenius stop
  • Check if process is stopped root# ps -ef |grep node.

If ok:

2. Promote new binaries

  • root@prod:/#cd /opt/littlegenius
  • root@prod:/# mv app app.old
  • root@prod:/# mv new app

3. Restart littlegenius

root@prod:/# nohup sudo service littlegenius start root@prod:/# nohup sudo service littlegenius start

If change of config, Reconfig from dev box or prod?:

B. Production client release

  • Checkout a cleaned labeled version or pull from a previous release repo.

For iOS

  • Build the client in the app directory:npm run ios-prd
  • Open XCode path is under the directory: lgen/app/.meteor/local/cordova-build/platforms/ios/Little Genius.xcodeproj e.g. /Users/dan/DEV/PRD/lgen/app/.meteor/local/cordova-build/platforms/ios/Little Genius.xcodeproj (best is to open from Finder as XCode cannot open hidden directory such as .meteor)
  • check that you can connect to production using at least the emulator (and better a real iOS device)
  • Run the app on play with it.
  • if OK, set Enable BitCode to No in build settings

Push notification check

  • Change bundle identifier to io.littlegenius.genie
  • Activate push notification
  • Ensure that provisions are set to Production

For Android

  • See Build on Android.
  • Cd in the app directory
  • using the right .keystore (ask Daniel or Terence), run ./build-android.sh (Note the build number need to incremented as well...in mobile-config.js and config.xml)
  • upload APK to Google Play store

See #147 https://github.com/danlg/lgen/issues/147