Cloud Native CI/CD: tekton and argocd
https://platform9.com/blog/argo-cd-vs-tekton-vs-jenkins-x-finding-the-right-gitops-tooling/
implement GitOps with Kubernetes
| ArgoCD | Tekton | ||
| GitHub Stars (Feb 2023) | 12,200 | 7,700 | 4,300 |
| Deployment | Simple | Complex | Moderate |
| Ease of Use | Simple | Complex | Moderate |
| Integrations | Excellent | Excellent | Good |
| Configurability | Excellent | Excellent | Ok |
| Tuned for Kubernetes | Yes | Yes | Yes |
| GitOps Workflow Coverage | CD Only | CI/CD Pipelines & Orchestration | Opinionated CI/CD & Pipelines |
| Community | Excellent | Good | Good |
| Maturity | Excellent | Good | Ok |
| Popularity | Excellent | Good | Ok |
https://github.com/argoproj/argo-cd
Argo CD bills itself as a declarative GitOps Continuous Delivery (CD) tool for Kubernetes. At a high level, there are a few key features to note:
Ability to deploy and sync applications to Kubernetes clusters automatically or manually
Drift detection, correction, reporting, and visualization via the UI
Support for multiple Kubernetes clusters and multi-tenancy with RBAC
SSO via a number of providers, including GitHub, GitLab, Microsoft, LinkedIn, OAuth2, SAML 2.0, LDAP, and OIDC
WebUI and CLI
Support for webhooks via Github, BitBucket, and GitLab
https://tekton.dev/
Tekton takes a modular approach to cloud-native CI/CD by implementing components that form the building blocks needed to create a complete CI/CD ecosystem. Due to its nature, Tekton is extremely powerful, and it provides the ability to customize entities which can then be shared and reused as needed.
Task - defines a series of ordered Steps, and each Step invokes a specific build tool on a specific set of inputs and produces a specific set of outputs, which can be used as inputs in the next Step.
Pipeline - defines a series of ordered Tasks, and just like Steps in a Task, a Task in a Pipeline can use the output of a previously executed Task as its input.
https://jenkins-x.io/
Some of the key high-level features of Jenkins X are:
Automated import of existing software projects
Automatic project type detection (i.e. Go, Java, Python, etc.)
Automatic pipeline creation, including Jenkinsfiles and Dockerfiles
Automatic software environment creation (i.e. dev, staging, and prod)
Automatic Helm chart creation for deployments
Automated detection of changes in your repo and deployment to the appropriate software environment
CLI using the jx binary written in Go
Extensibility through the creation of plugins compatible with the jx binary


浙公网安备 33010602011771号