Continuous Integration (CI)
1. Summary:
We have to finalize a CI platform for Build, Test and Release.
2. Components
Tools | Summary |
|---|---|
GitHub Actions | Nephio's code is already on GitHub, and it will be easiest if we build CI pipelines using GitHub Actions. |
Ansible | We can write Ansible Playbooks, so we can test and build our code on any platform. |
GitHub Actions Marketplace | We can use a lot of existing tools from Marketplace, but this why we will be locking our selves with GitHub ecosystem. |
Docker Hub | We can release new docker images on Docker Hub for each build and final release. |
GitHub Pages | We can use GitHub pages if we would like to host our CRDs as helm charts. |
I believe that we should define functions necessary and then select appropriate tools, eg:
Function
Tools
Choice
CI/CD Pipelines
GitHub Actions, GItLab-CI...
Nephio's code is already on GitHub, and it will be easiest if we build CI pipelines using GitHub Actions.
Linters for
Go
YAML
Markdown
...
GitHub Actions Marketplace, many existing linters
We can use a lot of existing tools from Marketplace, but this why we will be locking our selves with GitHub ecosystem.
Security tools
Images registry
DockerHub, GIthub registries, GitLab container registry
Kubernetes repo:
https://goharbor.io/