DevOps
The Difference Between GitHub's Three Code Merge Methods
· β˜• 1 min read
1. Create a merge commit PR commit log: 1 2 commit c1 commit c2 Integration branch commit log: 1 2 3 commit PR #NUM commit c2 commit c1 Create a merge commit carries every commit in the PR over to the integration branch intact, and adds one PR commit entry on top.

Analyzing the "not a tree" Git Operation in Jenkins
· β˜• 4 min read
1. Problem Description When a Webhook was configured to automatically trigger a Jenkins pipeline, the following error occurred: 1 2 3 hudson.plugins.git.GitException: Command "git checkout -f 23b446ea" returned status code 128: stdout: stderr: fatal: reference is not a tree: 23b446ea 2. How Git Manages Versions Git is a content-addressable filesystem. Git maintains a sha tree, and any historical node can be traced back to via its sha value.

DevOps Toolchain: Prow
· β˜• 6 min read
1. About Prow In the GitHub repositories of well-known projects such as Kubernetes and Istio, we often see an xxx-bot user adding labels to issues and merging PRs. That bot account is driven by Prow. Prow is a project of the Kubernetes Testing Special Interest Group and is currently part of kubernetes/test-infra.

What Is Left Shift
· β˜• 3 min read
1. What Left Shift Is It should be noted that “left” here is not the political left, standing for conservatism or radicalism, but the left that describes a process β€” moving things earlier in time. I first came across “left shift” while researching automated testing. The idea is appealing, and putting it into practice is simple.

Building an Automated Test System with Kubernetes and Jenkins
· β˜• 6 min read
1. Test Layering The purpose of testing is to verify expected behavior and uncover latent defects. Testing strengthens confidence that a qualified product can be delivered, and it is what makes agile iteration possible. You could say that testing determines the development pace of a product. The network model has the seven-layer OSI and the four-layer TCP, while development patterns include MTV, MVC, MVP, MVVM, and so on.