Status: Done (View Workflow)
HS July 07 - July 21, 2022
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:
- 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.
- 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.
- 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.
- Cd to shared-lib/ or shared-lib/dto-model/ dir and run following:
The above process is for updating the cloudsmith artifact, but we still need to figure out the rest of the questions.