Uploaded image for project: 'Horizon Stream'
  1. Horizon Stream
  2. HS-221

shared-lib/ build and version management



    • Research
    • Status: Done (View Workflow)
    • Minor
    • Resolution: Done
    • None
    • None


      A shared-lib/ dir has been created for shared code across components of horizon stream. One shared-lib is dto-model/ that is used in platform/ and in rest-server/.

      This particular shared-lib will rarely have changes added to it and will be published to https://cloudsmith.io/~opennms/repos/3rdparty/packages/. Currently, there is a version deployed there that can be used by platform/ and rest-server/ components.

      The questions are as follows:

      • How should we add a ci-cd pipeline for this?
      • Should the version be the same as the tag versions on the git repo and on the dockerhub images that are published for each release?
      • How do we automatically update the platform/ and rest-server/ dependency versions for the shared-lib once a release has been published with the latest version?

      The ci-cd pipeline will follow this process:

      1. See https://help.cloudsmith.io/docs/maven-repository#upload-via-maven, specifically on setting up a ~/.m2/settings.xml config. We are using cloudsmith as the replacement for the NAME placeholder.
      2. Get the cloudsmith API key to update ~/.m2/settings.xml. See https://help.cloudsmith.io/docs/api-key. Add your cloudsmith username to that file as well.
        1. We need to see if there is a generic user to use from cloudsmith to add to the Github Actions secrets to authenticate the CI-CD pipeline.
      3. Cd to shared-lib/ or shared-lib/dto-model/ dir and run following:
      mvn clean deploy

      The above process is for updating the cloudsmith artifact, but we still need to figure out the rest of the questions.




            jaberry Jason
            jaberry Jason
            0 Vote for this issue
            1 Start watching this issue