NIH | National Cancer Institute | NCI Wiki  

Error rendering macro 'rw-search'

null

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Current »

Contents of this Page

The purpose of this document is to document the current Docker setup at NCI which provides extended testing and reporting. 

In the future, we will set up LexEVS to be deployed via Docker containers.

Overview

The Mayo development team currently has Docker and Jenkins setup locally to build and test all of the LexEVS components.  It is our intent to move this setup to NCI for a more permanent and stable location.  Additionally, we intend on working with the systems team to prototype deploying LexEVS in as Docker containers.

LexEVS System Test

The lexevs-system-test is a Docker script that builds and tests all of the LexEVS components.  Jenkins is used to kick off the Docker script.

Jenkins

Currently the lexevs-system-test is configured and running nightly at NCI.

When the Jenkins build is started, it simply calls a Docker script, passing in parameters that define the LexEVS component branches.

When the Docker script completes, the Jenkin build captures the test reports (XML) files.

Docker

The Docker script is where all of the work is done. 

The Git Docker project is located here:

Below is a high level view of what the script does.

  •  Builds MySQL containers
  • Clones LexEVS and LexEVS Remote projects from Git and builds each component
  • Creates a container for the URI Resolver
  • Builds and runs Junit tests for CTS2
  • Runs Junit tests against LexEVS
  • Loads terminologies into LexEVS
  • Creates a container for LexEVS Remote
  • Creates a container for CTS2
  • Runs Junit tests against LexEVS Remote
  • Stops and remove all containers.

NCI Docker Locations

 

Additionally, we would like to create more standard containers based on NCI's technology stack and have the containers stored in Nexus for us to pull into our builds.  For example, we would like to create a container with  NCI approved technology. These containers may include the following:

  • CentOS 7
  • Tomcat 8.x
  • Java 8.x
  • MySQL 5.6.x

We have found in our testing that versions of the above components are regularly updated and at times, the version we specify in our script is no longer available which subsequently breaks our builds.  Having consistent, known versions (based on NCI's technology stack) that are available for our builds would provide greater stability.

Next Steps

Our next step is to work with the Systems team to develop LexEVS Docker container(s) that could be deployed to an NCI DEV Docker environment that could be used for testing.

NCI Configuration

These are the links to the systems at NCI that have been set up for migrating our lexevs-system-test script to NCI.

Jenkins - Jenkins server to run the lexevs-system-test.

Nexus - Nexus server to push specific versions of NCI technology stack software to.  This will be used by the Docker script to pull versions of software that are approved by NCI.

Docker interface: ncidockerhub.nci.nih.gov

Pull standard images from hub.docker and push to NCI Nexus server

Need to log into NCI Docker hub first

MySQL 5.6.33

Pull from docker hub

  • docker pull mysql:5.6.33

Tag the mysql container

Push to NCI Nexus


Tomcat 8.0.43-jre8
Pull from docker hub

  • docker pull tomcat:8.0.43-jre8

Tag the tomcat container

Push to NCI Nexus

 

  • No labels