LexBuild

Deploy a New Build

The plan is keep the deployed LexBuild up as much as possible. All the development, maintenance, and testing task should be accomplished in the development site (lexlx1). The deployment procedures should only takes minutes for a new build. The general procedure is as follows:

I. Procedures

  • Completed SCRs on development machine (lexlx1)
  • Login to official LexBuild (lexsrv1) to see if there are any users still login
  • Send out system shut down warning message to all user
  • Wait for all user logout
  • Turn off login function in LexBuild
  • Backup database tables to flat file (see below)
  • Backup GSpell dictionary from memory to file (see below)
  • Deploy new build from lexlx1 to lexsrv1
  • Restart tomcat web application server
  • Turn on login function in LexBuild

II. Database Related

  • Database is save whenever there is an action, so no problem.
  • However, it is a good idea to save the DB tables to flat file before shuting dwon the server.
  • Use Post-Proc -> Db Output -> Backup database tables

III. Dictionaries Related

  • To save a new term in the dictionary, it takes two steps
    1. ReIndex: index all inflVars
    2. Reload: reload from the file
  • In LB, above steps is used to save dictionary data in the memory (instead of saving to file) due to the performance issue.
  • ReIndex and Reload is done automatically once every day by crontab.
  • Accordingly, it is a good idea to save the data before shutdown the server
    Use Post-Proc -> GSpell -> Save Dictionaries (90 sec.)
  • Or, do the Reindex and reload after bring the server up
    Use Post-Proc -> GSpell -> ReIndex Dictionaries (10 Min.)
    Use Post-Proc -> GSpell -> Reload Dictionaries (1 sec.)
  • Without saving the dictionary data, it would be some close-match missing until the next morning (when the crontab re-index and reload the dictionary).