LexAccess Web Tools Ci-Cd Procedures
This page describes steps for develop, stage and deploy LexAccess Tools.
I. Annual Updates on Data only
- Local Development, build & Test (lhc-lx-lexdev)
- put HSqlDb files (both UTF-8 and ASCII) to ${PROJECTS}/LA/laData/HSqlDb
- add ${YEAR} and ${YEAR}ASCII in ${PROJECTS}/LA/laData/WEB-INF/lexiconFile
- shutdown and restart tomcat (
sudo systemctl restart tomcat
)
- clean browser cash (if needed)
- test LexAccess Web Tool on lexdev from broswer
- Ci-Cd Build & Test (lhx-lx-lexdev01) - skip
- put HsqlDb files (both UTF-8 and ASCII) to /data/HSqlDb/
- put updated lexiconFile to /data/WEB-INF/
- restart tomcat server (clear up cached files)
- Ci-Cd LHC Stage & Production
Open a ticket for (Ci-Cd, NLM LHC_AwsDev) to add files in EFS shared (NFS):
- put 6 HsqlDb files (both UTF-8 and ASCII) to /data/HSqlDb/ (EFS share/NFS)
- put updated lexiconFile to /data/WEB-INF/ (EFS share/NFS)
- restart tomcat server (clear up cached files)
II. Annual Updates on Software and Data
- Build & test without Ci-Cd, local development
- host: lhc-lx-lexdev
- dependencies: ./src/main/webapp/WEB-INF/lib/lexAccess${YEAR}dist.jar
- dir: WebLexAccess-p
- Update ./build.xml
- Update "catalina.home"
- Change app.year from ${YEAR}-1 to ${YEAR}: if new development
- modify files
- ./src/main/webapp/WEB-INF/web.xml (from web.xml.lexdev)
- update lexAccessVersion
- update lexAccessHomeDir
- ${PROJECTS}/LA/laData/WEB-INF/lexiconFile
- add ${YEAR}
- add ${YEAR}ASCII
- compiler tool: ant (build.xml)
- ant clean: delete ./build
- ant: generate ./build/
- ant deploy: copy ./build to ${TOMCAT}/webapps/lexAccess.${YEAR}
- update ${TOMCAT}/webapps/lexAccess.${YEAR}/WEB_INF/web.xml with web.xml.lexdev
- test LexAccess Web Tool on lexdev from broswer
- Build & Test with GitLab Ci-Cd pipeline
- Ci-Cd Concepts
- use maven to build and get artifacts dependencies from ${LHC-nexus}/lhc-maven-releases/.../lexAccess/...
- Dockerfile: get ${LHC-nexus}/lhc-lexicon-raw/www/lexAccess/${YEAR}/lexAccess${YEAR}lite.tgz
- persistent data for LexAccess database over the years installed on /data
open a ticket to ask Ci-Cd team to put the following files to /data
- HSqlDb/* (DB data files)
- WEB-INF/lexiconFile