Posts
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.

How to Trigger GitHub Actions Remotely
· β˜• 2 min read
Usually, we need to perform some operation on GitHub in order to trigger a GitHub Action. This post introduces a way to trigger a GitHub Action remotely through an API call. 1. Common Ways to Trigger a GitHub Action Here is an example GitHub Action: 1 2 3 4 5 6 7 name: GitHub Actions Demo on: [push, pull_request] jobs: Explore-GitHub-Actions: runs-on: ubuntu-latest steps: - run: echo "Hello World!

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.

Building and Using Go Private Packages
· β˜• 3 min read
1. Create a Go Modules Project Create the directory 1 2 mkdir go-test cd go-test Initialize the package 1 2 3 4 5 go mod init gitlab.private.com/shaowenchen/go-test go: creating new go.mod: module gitlab.private.com/shaowenchen/go-test go: to add module requirements and sums: go mod tidy Add the business code main.go 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package main import ( "github.

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.