NCI LexEVS Data Packaging and Deployment Utility
The NCI LexEVS Data Packaging and Deployment Utility is a utility primarily intended to ease the manual process of packing and publishing LexEVS 5.1 data from environment to environment or from development tier to another. In general, LexEVS 5.1 data is loaded in to a LexEVS 5.1 environment using the LexEVS 5.1 loader and using this utility it is possible to package said data for deployment and to then to deploy said data to other LexEVS 5.1 environments. Updates of the associated "metadata.xml", "registry.xml" and Lucene index files are handled automatically by this utility. This utility will also handles the removal of selected terminologies from target environments.
Usage Information
The NCI LexEVS Data Packaging and Deployment Utility contains two separate executable files, the first one being "package.sh" which invokes a Java executable which is able to process user packaging commands (an instruction set) for the purpose of creating a "deployment" package. The user is able to select which terminologies are to be deployed and which terminologies are to be removed using the "package.sh" utility. The second, "deploy.sh" invokes a Java executable that is able to read the previously created package and to deploy it to a target environment.
Below is a listing of the instruction set for both the packaging and deployment utilities:
Instruction set for "package.sh"
- (H)elp - Display a listing of all available commands.
- (L)ist - Displays a numbered listing of available terminologies (for packaging) from the source environment. The source environment is determined by the value of property "master_lbconfig" in file "package.properties". Please see package.properties for available packaging properties.
- (S)elect #
- (U)nselect #
- (R)emove #
- (P)ack
- (I)nfo
- (B)inaries
- (C)lear
- (Q)uit
Instruction set for "deploy.sh"
- (H)elp - Display a listing of all available commands.
- (DF) DeployFiles
- (DD) DeployDatabase,
- (L)ist - Displays a numbered listing of the terminologies that have been packaged and or the terminologies to be removed. This utility determines the list by reading the contents of the publish directory as pointed to by the value of property "publish_dir" in file "deploy.properties". Please see deploy.properties for available deployment properties.
- (I)nfo
- (C)lear
- (Q)uit
Properties available for package.properties
Property |
Description |
---|---|
master_lbconfig |
Full path to "lbconfig.props" file. Used as the "source" environment to package from. |
publish_dir |
Full path to the directory to "publish" to. Needs to be large enough to contain the LexEVS 51 database export files as well Lucene index files for the selected terminologies. |
Example file:
#----------------------------------------------------------------------# # Package Properties: # #----------------------------------------------------------------------# ### Lexevs file locations (master) master_lbconfig=/mnt/lexevs/5.1/resources/config/lbconfig.props publish_dir=/mnt/lexevs/5.1/lexevsdata51
Properties available for deploy.properties
Property |
Description |
---|---|
target_lbconfig |
Full path to the "lbconfig.props" file of the target environment to be deployed to. |
publish_dir |
Full path to the publishing directory. |
ssh.key.file |
Full path to the SSH private key. A SSH public key needs to be installed under JBoss user account (as normally done with BDA projects). |
|
The following "target_name_#" properties can be repeated for each application that needs to be stopped/started after a data deployment. To uniquely identify servers, target property names are appended by a '_#' where '#' is an integer value from 0 to 9 to indicating the server number. (IE; target_url_0= http://localhost:8080/mylexapplication/)\\ |
target_url_# |
URL to the lexevsapi51 server. Used by "deploy.sh" to determine if the lexevsapi51 application is running or not. |
target_server_# |
The application server name. |
target_user_# |
JBoss user id. Used for the SSH connection needed to stop/start the various application servers. |
target_start_jboss_path_# |
|
target_stop_jboss_path_# |
|
Example file:
#----------------------------------------------------------------------# # Deploy Properties: # #----------------------------------------------------------------------# ### Lexevs file locations (master) target_lbconfig=/local/lexevs51/resources/config/lbconfig.props publish_dir=/mnt/lexevsdata51 ### Deployment ssh.key.file=/local/home/user/ssh-keys/id_dsa_bda ### JBoss Server Information (Max of 10 servers) target_url_0=http://server:8080/lexevsapi51 target_server_0=server target_user_0=jbossuser target_start_jboss_path_0=/usr/local/jboss/server/default/bin/start_jboss target_stop_jboss_path_0=/usr/local/jboss/server/default/bin/stop_jboss target_url_1=http://server1:8080/lexevsapi51 target_server_1=server1 target_user_1=jbossuser target_start_jboss_path_1=/usr/local/jboss/server/default/bin/start_jboss target_stop_jboss_path_1=/usr/local/jboss/server/default/bin/stop_jboss