More DevOps engineers outside of Skyline are starting to contribute to our community and will start to create their own Automation scripts, drivers, Visuals, ...
Starting Devops engineers do not yet have the same experience and are as aware of the best practices as some experienced Devops engineers. So they might want their work to be reviewed by more experienced engineers. They might also be interested to make amendments to solutions already provided by Skyline (e.g. enhancing Visuals, Scripts, ...).
If we want to set up a (private) shared repository where both Skyline employees and user DevOps engineers from the user can contribute together (to avoid that we are overwriting each other's work), what is the best way to do this?
If Skyline employees work on a public repository within the SkylineCommunications Github organization, DevOps engineers should be able to fork on that same repository and make pull requests for changes. The Skyline Employees can then review pull requests and commit them to the main fork, eventually deploying the changes to the catalog.
This is the most logical solution I see with the system we already have in place.
Indeed, as Toon explained the best way is to create a fork and use pull requests so our teams review the code before merging it.This should be the best practice.
Once the DevOps engineers are experienced enough they can work on the code directly and use the GitHub workflows/actions to run the CI/CD pipeline.
The workflows and actions are publically available on GitHub and will allow them to create a run Unit tests, go through SonarCloud for QA, create a Dataminer app package , push the artifact to our catalog and eventually publish it directly to their own Dataminer Agents if the DMAs are connected to our online dataminer services platform.
Note that, currently, these workflows are only available for scripts ( Automation scripts, profile load scripts, ...) but in near future we expect it to be extended to other items such as connectors.
Informations about the available GitHub workflows and actions can be found in our documentation portal - Dataminer docs