Tekton
A CICD Platform Based on Tekton
· β˜• 8 min read
1. Background 1.1 Problems with the Current Use of Jenkins The orchestration engine is unstable Jenkins is an orchestration engine written in Java, and it stops the world (STW) during a full GC. Under large-scale builds, STW can prevent Jenkins from handling new requests. Heavy builds stall Jenkins stores data in disk files; every pipeline and every build occupies a file directory, producing a huge number of files.

Tekton Pipelines Across Multiple Clusters
· β˜• 10 min read
1. The Advantages of Multi-Cluster Tekton Builds Thanks to Kubernetes, Tekton already has good elasticity and can support large-scale builds. At the same time, developing Tasks mainly uses Yaml and Shell, which widens the range of scenarios Tekton can adapt to. The figure above is a sketch of Tekton across multiple clusters.

How to Implement an Approval Feature in Tekton
· β˜• 8 min read
1. Basic Features of a CICD Platform A common CICD engine is not suitable to hand directly to the business side. The main reasons are the high learning cost for users, the lack of necessary authentication, and the difficulty of maintenance and upgrades. We usually build on top of a process engine, adapting it to the business to improve usability and encapsulating it for specific scenarios to reduce complexity.

Jenkins vs. Tekton
· β˜• 1 min read
Below is a list comparing Jenkins and Tekton: Feature Jenkins Tekton Programming language Java Golang Language for developing plugins Java Shell, Yaml Pipeline description language Groovy, Shell Yaml, Shell Plugin ecosystem Many plugins, LDAP, GitLab Lacking Number of plugins 1500+ 100+ Compatibility between plugins May conflict, cannot be upgraded freely Fully compatible Secondary development Wrapping the API Composing Tasks High availability Integrates Gearman, master-slave mode Relies on Kubernetes’ high availability Concurrent build scale per instance A few hundred concurrent builds Relies on Kubernetes’ Pod management capability, so it can be very large Data storage Local disk Etcd Supports automatic triggering Yes Yes Has commercial support No No

How Tekton Connects to Physical Machines for Builds
· β˜• 10 min read
1. Why Physical Build Machines Are Needed In the article How to Add a Remote macOS Physical Machine for Jenkins Pipeline Builds, I described how to add a physical build machine in Jenkins. This was not a requirement I made up on a whim β€” at the time, real ToB commercial customers were actually asking for a solution.