Skip to content

Release

Greg Farris edited this page Oct 23, 2019 · 8 revisions

The release of code can be performed via Circle CI. Using Circle CI's API we trigger a job and pass information to the job about the release. The Circle CI job configuration handles the release based on the parameters passed.

We have three types of Releases,

This CLI will help you trigger a Release of the KGrid components.

Release CLI

This Release CLI will help you trigger a Release of the KGrid components. The CLI handles Shared Components, KGrid Applications, Knowledge Objects.

Release CLI uses the CircleCI API to trigger a job with some added build parameters

  1. Triggers CircleCI job (each component has a special release step in their CircleCI script)
    1. build test
    2. create github release
  2. if Shared Component deploy to maven
  3. if KGrid Application create docker image
NOTE Object Releases

Currently we release our objects as a zip of all of the KOs. Each ko project should have a package script zips up the ko objects into a zip file. Heroku and ITS Demo/Test servers have scripts that pull all of the ko zip files from the projects and uses them to create a shelf. See KGrid Instance Lion create shelf or the script used for the heroku create shelf exeucted during the circleci builds.

Good To Know

Timing

After you successfully release (CircleCi Job completes), the component will be published to Central repo, typically within 10 minutes, though updates to search.maven.org can take up to two hours.

Settings file

In this repo a settings.xml file exists that could be used to run a maven release locally. You can use this setting.xml simple to get the snapshot repository included in your dependency scan.

Test out Release withDry Run

To make sure everything is ready to be released (no snapshots etc), you can run the release locally using the dry run switch. You can have any local changes, run the following, -B is for a batch mode not interaction.

mvn release:clean release:prepare -B -DdryRun=true

Run mvn release:clean after to tidy up the mess prepare makes

Clone this wiki locally