Skip to main content
Xianpeng Shen

Xianpeng Shen

DevOps & Build Engineer | Python Enthusiast | Open Source Maintainer

Recent

Conventional Branch Specification One-Year Anniversary — From Zero to Global Developer Adoption
·247 words·2 mins
12K+ visits, multilingual translations, and global developer adoption—the journey of the Conventional Branch specification’s first year
Blog Bilingual Publishing Made Easy — GitHub Actions + Gemini API in Practice
·443 words·3 mins
Discovered my blog has more English than Chinese readers? So I used GitHub Actions + Gemini API to automatically translate articles into English, saving time and effort.
Four Years of Open Source —— Three Unexpected Rewards
Some say open source is useless, yielding neither profit nor time savings. But through four years of dedication, I’ve discovered three unexpected rewards: increased visibility for my work, connections with exceptional people and projects, and the accumulation of long-term value. These rewards are applicable to every developer.
DevOps Maturity — From Reflection to Open Source Practice
·407 words·2 mins
How to assess and improve your team’s DevOps maturity. Official release of the DevOps Maturity open source project, with assessment tools and practical guides.
Eight Years Later, I Finally Revamped My Blog
·502 words·3 mins
This article records the process of revamping my blog after eight years, from migrating from Hexo to Hugo, to the functional and design improvements of the new blog.
Jenkins Explain Error Plugin Now Supports Google Gemini! 🤖
·310 words·1 min
This article introduces a new feature of the Jenkins Explain Error Plugin that supports for Google Gemini model for error analysis. It provides configuration methods and an example video.
Jenkins Plugin Center Didn't Have an AI Plugin Yet? I Wrote One! 🤖
·751 words·2 mins
Introducing my first Jenkins plugin: Explain Error Plugin. It automatically analyzes build failure log information and generates readable error explanations, helping developers locate and solve problems faster.
A Year Abroad — Not Everyone Is Cut Out for Europe
·1474 words·3 mins
Who is suited to developing their career in Europe, and who might find it challenging? A programmer and father shares his experiences of life abroad.
How to Fix Shields.io Badges Not Displaying in Jenkins
·218 words·2 mins
How to temporarily fix it via the Script Console, and how to make it permanent by modifying Jenkins startup parameters. This method is suitable for internal Jenkins environments and has been tested on modern Jenkins installations.
Enhancing Code Traceability — Automatically Including PR Descriptions in Git Commits
·520 words·2 mins
Leverage Bitbucket’s Commit Message Templates feature to automatically write PR descriptions into Git commit messages, ensuring crucial information isn’t lost with tool changes.
How to Change abortPrevious Value in Jenkins?
·418 words·2 mins
In Jenkins, the disableConcurrentBuilds option is used to manage concurrent builds. This article explains how to conditionally set the abortPrevious value based on the branch being built, allowing for more flexible build management.
CI/CD—Not a One-Time Project, but a Continuously Evolving System
·566 words·2 mins
In DevOps, CI/CD pipelines require continuous maintenance and refactoring. This article explores why CI/CD is not a one-time construction project, but a system that requires long-term investment and continuous evolution.