Jenkins Freestyle vs Pipeline: A Practical Comparison and Configuration Guide

Overview Jenkins users fall into two camps: one fills out forms on the web UI, clicks a few buttons, and gets things running — simple and direct. The other writes Jenkinsfiles in the code repository, turning build pipelines into code with version control, peer review, and rollback all built in. The first is called Freestyle Project. The second is called Pipeline Project. These two aren’t mutually exclusive. Many teams use both — simple script tasks with Freestyle, complex multi-stage releases with Pipeline....

July 14, 2026 · 19 mins · 3929 words · Xu Baojin

SRE and Development Team Collaboration Models: Engineering Practices for Breaking Down Walls

Overview In modern software engineering, the relationship between SRE (Site Reliability Engineering) and development teams is one of the most critical and delicate aspects. Development pursues “fast delivery of new features,” while SRE pursues “stable system operation” — these two goals are inherently in tension. If the collaboration model is poorly designed, the result ranges from inefficiency and finger-pointing to frequent production incidents and collapsed trust between teams. The Google SRE Book contains a classic observation: “The central SRE contradiction is that we need to simultaneously allow development teams to move quickly while maintaining the reliability of the system....

June 24, 2025 · 20 mins · 4224 words · XuBaojin

Change Management: Canary Release and Rollback Strategies

The Role of Change Management in SRE Google SRE identified an iron rule: approximately 70% of production incidents are directly caused by changes. Whether it’s code deployment, configuration modification, infrastructure adjustment, or dependency upgrades, every change injects uncertainty into the system. Change management is therefore not bureaucratic red tape — it’s the first line of defense in SRE reliability engineering. The core objectives of change management can be summarized in three points:...

February 11, 2025 · 9 mins · 1902 words · XuBaojin

Jenkins Pipeline as Code in Practice

Overview Pipeline as Code is the watershed moment when Jenkins evolved from “drag-and-drop configuration” to “code-driven.” Defining pipelines in a Jenkinsfile under Git version control means every pipeline change has a diff to review, a history to trace, and a branch to roll back. This article systematically covers Pipeline as Code practices, from Jenkinsfile syntax to production-grade pipeline design. Reference: Jenkins Pipeline Official Documentation I. Jenkinsfile Syntax 1.1 Declarative vs. Scripted Jenkins Pipeline has two syntax styles:...

July 29, 2024 · 17 mins · 3551 words · XuBaojin

Git Hooks Automation: From Code Quality to Deployment

Overview The earlier code quality issues are caught, the cheaper they are to fix. Catching issues at commit time is faster than at CI time, and catching them at CI time is faster than fixing them after they cause production incidents. Git Hooks provide the ability to automatically run checks at critical points — commit and push — including code formatting, linting, commit message validation, and test execution. This article covers everything from Git Hooks fundamentals to toolchain practices, building a code quality automation system from local to CI....

May 3, 2024 · 18 mins · 3628 words · XuBaojin

Getting Started with Terraform Infrastructure as Code

Manually logging into cloud consoles to create servers, databases, and networks — this approach barely works when resources are few, but once environments grow complex, you end up unable to modify, clean up, or explain your infrastructure. Infrastructure as Code (IaC) uses code to describe infrastructure, making resource creation, modification, and destruction versionable, reviewable, and reusable. Terraform is currently the most popular IaC tool. This article covers everything from concepts to practice....

April 24, 2024 · 12 mins · 2429 words · XuBaojin

Ansible Playbook Best Practices: From Basics to Production

Overview Ansible has a low barrier to entry — a YAML file and a few lines of yum install can get things running. But when you face hundreds of servers, multiple environments, complex dependencies, and strict change audit requirements, the gap between “it runs” and “it’s production-ready” is an entire engineering discipline. This article distills the core practices of production-grade Playbooks into an actionable guide, covering the full chain from structure organization to performance optimization....

April 5, 2024 · 15 mins · 3107 words · XuBaojin

Makefile Build Automation: More Than Just Compilation

Overview Many people think of Makefile as merely a build assistant for C/C++. But Make is fundamentally a dependency-driven task execution engine — you tell it “what the target is, what it depends on, and how to generate it,” and it handles executing in the correct order while skipping steps that don’t need repeating. This model is equally powerful in ops scenarios: deployment depends on build, cleanup depends on service shutdown, checks depend on configuration being ready....

March 26, 2024 · 14 mins · 2964 words · XuBaojin

kubectl Productivity Guide: Plugins and Aliases

Overview kubectl is the most commonly used tool for Kubernetes administrators, yet most people only use 20% of its capabilities. You type kubectl get pods -n production dozens of times a day without realizing a single alias can cut the keystrokes in half. When problems arise, you only know kubectl describe and kubectl logs, unaware that krew plugins can troubleshoot network, resource, and certificate issues with a single command. This article systematically covers the kubectl productivity toolchain — from aliases to plugins to interactive tools — to double your daily K8s operation efficiency....

March 12, 2024 · 17 mins · 3535 words · XuBaojin

CI/CD Pipeline Design: GitHub Actions in Practice

CI/CD is the lifeblood of modern software delivery. Manual builds and deployments are not only inefficient but also breeding grounds for incidents — the “works on my machine” tragedy almost always stems from a lack of automated pipelines. As GitHub’s native CI/CD platform, GitHub Actions integrates seamlessly with code repositories, offers generous free tiers for open-source projects, and has become one of the most popular CI/CD tools. This article starts from core concepts and walks through two practical scenarios — a Go project and a Hugo site — to comprehensively explain pipeline design....

March 7, 2024 · 12 mins · 2388 words · XuBaojin