<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pre-Commit on 公众号「沈显鹏」</title><link>https://shenxianpeng.dev/zh-cn/tags/pre-commit/</link><description>Recent content in Pre-Commit on 公众号「沈显鹏」</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><managingEditor>xianpeng.shen@gmail.com (沈显鹏)</managingEditor><webMaster>xianpeng.shen@gmail.com (沈显鹏)</webMaster><copyright>Copyright © 2017–2026 Xianpeng Shen. All rights reserved.</copyright><lastBuildDate>Sun, 12 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://shenxianpeng.dev/zh-cn/tags/pre-commit/index.xml" rel="self" type="application/rss+xml"/><item><title>Jenkinsfile Lint 1.5.0 发布：不需要 Jenkins 服务器的 Standalone 模式</title><link>https://shenxianpeng.dev/zh-cn/posts/2026/jenkinsfilelint-standalone/</link><pubDate>Sun, 12 Jul 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.dev/zh-cn/posts/2026/jenkinsfilelint-standalone/</guid><description>之前 jenkinsfilelint 需要连接一个可用的 Jenkins 服务器才能做语法校验。现在 v1.5.0 新增了 standalone 模式，只需要有 Docker，就能在本地启动一个最小 Jenkins 环境来验证 Jenkinsfile 语法。这篇文章详细介绍这个模式的实现思路和用法。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/zh-cn/posts/2026/jenkinsfilelint-standalone/featured.jpg"/></item><item><title>原本只想提个文档 PR，结果项目进了 Jenkins 官方组织</title><link>https://shenxianpeng.dev/zh-cn/posts/2026/jenkinsfilelint/</link><pubDate>Tue, 09 Jun 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.dev/zh-cn/posts/2026/jenkinsfilelint/</guid><description>我写了一个验证 Jenkinsfile 的小工具，原本只是想让它出现在 Jenkins 官方的开发工具列表里。结果 Jenkins 维护者提议：不如直接把项目转进 jenkinsci 组织？这篇文章记录了从 PR 到 transfer 再到官方博客的完整过程，包括中间踩的一个很有意思的坑。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/zh-cn/posts/2026/jenkinsfilelint/featured.jpg"/></item><item><title>cpp-linter-hooks：C/C++ 项目最完整的 pre-commit 方案</title><link>https://shenxianpeng.dev/zh-cn/posts/2026/cpp-linter-hooks/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.dev/zh-cn/posts/2026/cpp-linter-hooks/</guid><description>pre-commit 生态里 C/C++ 的工具一直比较薄弱。cpp-linter-hooks 是目前唯一同时支持 clang-format 和 clang-tidy 的 pre-commit hook，还内置了编译数据库自动检测、版本锁定、自动修复等实用功能。本文介绍它的用法和设计思路。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/zh-cn/posts/2026/cpp-linter-hooks/featured.jpg"/></item><item><title>困扰社区三年的问题：我把 Hadolint 塞进 PyPI，终结手动安装的历史</title><link>https://shenxianpeng.dev/zh-cn/posts/2026/hadolint-pre-commit/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.dev/zh-cn/posts/2026/hadolint-pre-commit/</guid><description>Hadolint 的 pre-commit 集成长期缺少自动安装方案，困扰社区三年。本文介绍如何通过将 Hadolint 二进制封装成 Python Wheel 包并发布到 PyPI，让 pre-commit 像安装任何 Python 工具一样一键集成 Hadolint，彻底消除手动下载与环境配置的负担。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/zh-cn/posts/2026/hadolint-pre-commit/featured.jpg"/></item><item><title>被 Airflow Maintainer 一顿夸：Rust 重写版 pre-commit 项目 prek 的崛起</title><link>https://shenxianpeng.dev/zh-cn/posts/2025/pre-commit-competitors/</link><pubDate>Wed, 13 Aug 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.dev/zh-cn/posts/2025/pre-commit-competitors/</guid><description>昨天在网上冲浪，突然看到了一个仓库叫 &lt;code&gt;prek&lt;/code&gt;，一看介绍是 —— ⚡ Better &lt;code&gt;pre-commit&lt;/code&gt;, re-engineered in Rust。这就引起了我的兴趣，毕竟 &lt;code&gt;pre-commit&lt;/code&gt; 作为非常广泛的预提交的工具，如果能改进，尤其是性能方面的改进，肯定是好事。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/zh-cn/posts/2025/pre-commit-competitors/featured.jpg"/></item></channel></rss>