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 8 Next »

Contents of this Page

The purpose of this document is to document the current Docker setup at Mayo and how this setup can be duplicated at NCI and extended to provide additional testing, reporting and deployment.

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 more permanents and stable location.

Jenkins

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

When possible, we would like to move the current Jenkins/Docker setup from Mayo to NCI.

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

Once we have the current setup running at NCI, we would like to start looking at the following items:

  • Create and store known "standard" containers (based on NCI's technology stack) in the NCI Nexus server.
  • Use the build script that builds all of the LexEVS components and deploy them to a NCI DEV server for further testing/usage.

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