17
Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Embed Size (px)

DESCRIPTION

Build and Deployment Process LexEVS 6.4 Build and Distribution Changes Remove the existing all-in-one large jar build (with dependencies) Build only a lexbig.jar and a folder with all of its dependencies. Windows batch files and Linux shell scripts need to be updated to point to the updated jar/paths.

Citation preview

Page 1: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• Understand NCI’s DevOps and continuous integration requirements

• Understand NCI’s build and distribution requirements

Page 2: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• LexEVS 6.4 Build and Distribution Changes

• Overview• The latest version of Lucene is causing build

failures with our old style all-in-one jarred dependencies and code build.

• The process for creating the LexEVS jar and its dependencies needs to be updated.

Page 3: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• LexEVS 6.4 Build and Distribution Changes

• Remove the existing all-in-one large jar build (with dependencies)

• Build only a lexbig.jar and a folder with all of its dependencies.

• Windows batch files and Linux shell scripts need to be updated to point to the updated jar/paths.

Page 5: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• Considerations for Triple Store/Graph DB• Propagate data loads up the tiers• Validation of loading an ontology

• Considerations for Cloud Infrastructure• Security concerns• Up time• Scalability

Page 6: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• Continuous integration principles• Maintain a single source repository• Automate the build• Make your build self-testing• Every commit should build on an integration

machine• Keep the build fast• Make it easy for anyone to get the latest

executable• Everyone can see what’s happening• Automate deployment

Page 7: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• Continuous integration benefits• A practice that requires developers to

integrate code into a shared repository several times a day.

• Each check-in is verified by an automated build, allowing teams to detect problems early.

• Integration bugs are detected early and are easy to track down due to small change sets.

• Constant availability of a "current" build for testing, demo, or release purposes

Page 8: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• Continuous integration benefits• Immediate feedback on system-wide impact of

local changes• Metrics generated from automated testing and

CI (such as metrics for code coverage, code complexity, and features complete) focus developers on developing functional, quality code

Page 9: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• LexEVS Continuous Integration (CI) Server• Jenkins (http://jenkins-ci.org/)

• Jenkins install requirements• Unix/Linux and Windows

• Native integration with several OSes• Runs in servlet container (tomcat 5 or

greater)• Requires Java7 or above. Java8 is

recommended.• >= 1 GB of memory• https://wiki.jenkins-ci.org/display/JENKINS/

Installing+Jenkins

Page 10: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• LexEVS Continuous Integration (CI) Server• Mayo uses Jenkins for a CI server

• Jenkins (http://jenkins-ci.org/)• Running Version 1.638 • Server is running behind Mayo’s firewall• Branches being built when a check in is made

• LexEVS 6.1• LexEVS 6.2• LexEVS 6.3• LexEVS DEV (Lucene branch)• LexEVS Master

Page 11: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• Jenkins setup for LexEVS 6.3 branch• This is done on the Jenkins

configuration page.• Specify the JDK:

Page 12: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• Specify Source Code Management (Git)

Page 13: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• Specify Build Triggers

Page 14: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• Specify Build and Test script

Page 15: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• Specify Post-build Actions

Page 16: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• Demo of Docker• Next steps/roadmap

Page 17: Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements

Build and Deployment Process

• Discussion Recap• Requirements • Decision Points • Priority