CI/CD Implementation
1. Summary:
Nephio Project uses combination of Prow with additional help of GitHub Actions as a CI/CD and GitHub management solution.
Prow is a Kubernetes based CI/CD, its main features:
Job execution for testing, batch processing, artifact publishing
GitHub events are used to trigger post-PR-merge (postsubmit) jobs and on-PR-update (presubmit) jobs
Support for multiple execution platforms and source code review sites
Pluggable GitHub bot automation that implements /foo style commands and enforces configured policies/processes
GitHub merge automation with batch testing logic
Front end for viewing jobs, merge queue status, dynamically generated help information
Config-as-a-code with automagically applying changes.
Automatic GitHub org/repo administration configured in source control.
All benefits of running on Kubernetes - replication, load balancing, rolling updates, addons like Istio.
JSON structured logs.
Prometheus metrics.
What do we do with it:
Code checking for syntax, common errors, security problems
Licensing compliance scanning
Artifacts building and delivery
Testing environment provisioning
Keeping GitHub policies applied
2. Diagram