<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>公众号「沈显鹏」</title><link>https://shenxianpeng.github.io/</link><description>Recent content 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>Tue, 09 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://shenxianpeng.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>原本只想提个文档 PR，结果项目进了 Jenkins 官方组织</title><link>https://shenxianpeng.github.io/posts/2026/jenkinsfilelint/</link><pubDate>Tue, 09 Jun 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/jenkinsfilelint/</guid><description>我写了一个验证 Jenkinsfile 的小工具，原本只是想让它出现在 Jenkins 官方的开发工具列表里。结果 Jenkins 维护者提议：不如直接把项目转进 jenkinsci 组织？这篇文章记录了从 PR 到 transfer 再到官方博客的完整过程，包括中间踩的一个很有意思的坑。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/jenkinsfilelint/featured.png"/></item><item><title>从 Demo 到生产：Agentic Application 的 8 层架构</title><link>https://shenxianpeng.github.io/posts/2026/agentic-application-8-layers/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/agentic-application-8-layers/</guid><description>本文从 Agent 边界设计、Tool Engineering、可观测性、评估体系、Memory 分层、Human-in-the-Loop、成本控制和安全八个维度，拆解一套面向企业落地的 Agentic Application 架构思路。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/agentic-application-8-layers/featured.png"/></item><item><title>Conventional Branch 有了自己的域名：conventionalbranch.org</title><link>https://shenxianpeng.github.io/posts/2026/conventional-branch-domain/</link><pubDate>Sun, 31 May 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/conventional-branch-domain/</guid><description>Conventional Branch 项目网站正式从 conventional-branch.github.io 迁移到 conventionalbranch.org。从去年用户提议到今年最终落地，聊聊域名迁移背后那些犹豫、踩坑和思考。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/conventional-branch-domain/featured.png"/></item><item><title>cpp-linter-hooks：C/C++ 项目最完整的 pre-commit 方案</title><link>https://shenxianpeng.github.io/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.github.io/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.github.io/posts/2026/cpp-linter-hooks/featured.png"/></item><item><title>Conventional Branch 官方 Skill 来了，安装只需一行命令</title><link>https://shenxianpeng.github.io/posts/2026/conventional-branch-skill/</link><pubDate>Sun, 17 May 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/conventional-branch-skill/</guid><description>有用户提 Issue 希望 Conventional Branch 能提供官方 Agent Skill，我觉得这个需求很合理。当天就把它做了出来，现在通过 npx skills add 一行命令就能下载使用。恰逢本周项目也突破了 100 个 Star，一并聊聊。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/conventional-branch-skill/featured.png"/></item><item><title>mkdocs-ng 维护进展：v1.7.x 修复总结与下一步计划</title><link>https://shenxianpeng.github.io/posts/2026/mkdocs-ng-update/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/mkdocs-ng-update/</guid><description>从接手 mkdocs-ng 维护以来发了四个版本，修了十几个 Bug，去掉了 mergedeep 依赖。接下来 v1.8.0 会是一个功能版本，计划去掉旧 Python 版本支持、移除内置主题的 CDN 依赖、提供稳定的 Python API。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/mkdocs-ng-update/featured.png"/></item><item><title>我在 Jira 里搭了一个 AI Agent：一个 Jira 版 Copilot 的实现思路</title><link>https://shenxianpeng.github.io/posts/2026/jira-ai-agent/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/jira-ai-agent/</guid><description>不少朋友问怎么在 Jira 里做一个类似 GitHub Copilot 的 AI Agent。本文结合我在 Jira 里实际开发的一个类似应用，分享从账号准备、Jira Automation 触发、Webhook 对接，到 Skills 能力体系搭建的完整思路。核心是利用现有服务，低成本快速实现。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/jira-ai-agent/featured.png"/></item><item><title>DeepSeek V4：把 Coding Agent 的使用成本打下来</title><link>https://shenxianpeng.github.io/posts/2026/deepseek-v4/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/deepseek-v4/</guid><description>这个月 Codex 自动续费了。原本我已经不太打算继续订，但这次续费反而让我重新比较了 Codex、DeepSeek V4 系列和 Copilot 的实际体验。对我来说，AI 编程工具的核心差距，已经不只是模型能力，而是谁能更稳定、更便宜、更持续地帮我写代码。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/deepseek-v4/featured.png"/></item><item><title>RepoKeeper 十天一百次提交之后，它已经能自己开发自己了</title><link>https://shenxianpeng.github.io/posts/2026/repokeeper/</link><pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/repokeeper/</guid><description>过去十天，我给 RepoKeeper 提交了一百多次代码，从一个概念验证跑到了 v1.2.0。它现在有六个模块，两个后端，支持 DeepSeek/OpenAI/Claude，还能用自己来开发自己——这篇文章讲讲它到底进化成了什么。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/repokeeper/featured.png"/></item><item><title>我又开始为爱发电了：正式维护 MkDocs 和 Material for MkDocs</title><link>https://shenxianpeng.github.io/posts/2026/mkdocs-ng/</link><pubDate>Wed, 29 Apr 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/mkdocs-ng/</guid><description>MkDocs 快两年没更新了，Material for MkDocs 也进了维护模式。作为重度用户，我 fork 了这两个项目，发布了 mkdocs-ng 和 mkdocs-ng-material，更新一下包名就能继续用。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/mkdocs-ng/featured.png"/></item><item><title>pi 项目里那些反直觉的设计：从 AGENTS.md 到「先把你的 PR 关掉」</title><link>https://shenxianpeng.github.io/posts/2026/pi-contributing-philosophy/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/pi-contributing-philosophy/</guid><description>读完 Mario Zechner 的「I&amp;rsquo;ve sold out」，又翻了 pi 仓库里的 AGENTS.md 和 CONTRIBUTING.md，我发现这个项目在很多地方都和常见的开源协作方式不太一样。新贡献者的 issue 和 PR 默认关闭、周末不 review、不懂代码就别提 PR。看起来很强硬，但背后其实是在认真处理一个问题：AI 时代，开源项目要怎么避免被低质量贡献拖垮。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/pi-contributing-philosophy/featured.png"/></item><item><title>Explain Error Plugin 重磅更新：AI 自动修复、用量管控与更多 AI 提供商</title><link>https://shenxianpeng.github.io/posts/2026/explain-error-plugin-3/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/explain-error-plugin-3/</guid><description>Explain Error Plugin 近期迎来多个重要更新：AI Auto-Fix 自动创建修复 PR、用量统计与配额管控、以及新增对 DeepSeek、Qwen、Azure OpenAI、Custom Okta 四个新 AI 提供商的支持。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/explain-error-plugin-3/featured.png"/></item><item><title>两毛四写一篇文章：我用 Pi + DeepSeek 做 Codex 备用方案的体验</title><link>https://shenxianpeng.github.io/posts/2026/pi-deepseek/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/pi-deepseek/</guid><description>Codex 每月 22 美元的订阅费加上额度限制，让我开始寻找一个便宜、稳定、随时能顶上的备用方案。在尝试 OpenCode 不顺利后，我转向了 Pi + DeepSeek 的组合。结果有点出乎意料：写完整篇博客文章，只花了 0.24 元人民币。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/pi-deepseek/featured.png"/></item><item><title>AI Agent，还是 Automation？</title><link>https://shenxianpeng.github.io/posts/2026/ai-agents-vs-automations/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/ai-agents-vs-automations/</guid><description>在 AI 技术飞速发展的今天，很多公司都在追逐 AI 的浪潮，但我们是否真正理解了“自动化”与“AI Agent”的区别？本文将从实际应用的角度，探讨在什么场景下应该使用确定性的自动化，而在什么场景下应该引入 AI Agent。通过对比分析，我们希望帮助读者在这个全员 AI 的时代，做出更明智的技术选择。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/ai-agents-vs-automations/featured.png"/></item><item><title>PyCon LT 第一天，我与 Airflow 大佬“面基”了</title><link>https://shenxianpeng.github.io/posts/2026/pycon-lt-d1/</link><pubDate>Wed, 08 Apr 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/pycon-lt-d1/</guid><description>PyCon LT 第一天，我与 Airflow 大佬 Jarek “面基”了。分享了我的“追星”经历，以及 Mozilla 工程师关于工具链的高质量分享。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/pycon-lt-d1/featured.jpeg"/></item><item><title>Python 供应链“核弹”级攻击刚刚发生：一个 pip install 就偷走你的所有凭证！</title><link>https://shenxianpeng.github.io/posts/2026/pipguard/</link><pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/pipguard/</guid><description>Python 供应链攻击已经发生，一个 pip install 就能偷走你的所有凭证。介绍如何用 pipguard 在安装前拦截恶意包。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/pipguard/featured.png"/></item><item><title>你的项目还在跑 Python 3.9 吗？我写了个工具来盯着这件事</title><link>https://shenxianpeng.github.io/posts/2026/py-eol/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/py-eol/</guid><description>py-eol 是一个专门用来检查 Python 版本是否快到期的工具。它可以扫描项目文件，精确到行号，告诉你哪些地方还在用 EOL 的版本。还可以接入 CI，让检查自动跑，不让过期版本偷偷混进来。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/py-eol/featured.png"/></item><item><title>用了 AI 之后，我反而更忙了</title><link>https://shenxianpeng.github.io/posts/2026/more-busy/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/more-busy/</guid><description>效率提升了，但工作量并没有减少，反而更多。需求变快、节奏变快，外界的期待也随之水涨船高——「你不是在用 AI 吗，怎么还没做完？」压力不是消失了，是换了一种形式。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/more-busy/featured.png"/></item><item><title>困扰社区三年的问题：我把 Hadolint 塞进 PyPI，终结手动安装的历史</title><link>https://shenxianpeng.github.io/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.github.io/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.github.io/posts/2026/hadolint-pre-commit/feature.png"/></item><item><title>开源界的“彩票”怎么领？从 thanks.dev 的运作机制说起</title><link>https://shenxianpeng.github.io/posts/2026/thanks-dev/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/thanks-dev/</guid><description>&lt;p&gt;上篇文章写了被 Canonical &lt;a href="https://shenxianpeng.github.io/posts/2026/thanks-canonical/" &gt;捐款&lt;/a&gt; 这件事，有读者问：你怎么就被选中了？&lt;/p&gt;
&lt;p&gt;一开始我也没搞清楚。后来认真研究了一下 thanks.dev 的运作机制，才把整件事的底层逻辑想明白了——以及，什么样的项目更容易被下游厂商的钱砸到。&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/thanks-dev/featured.jpg"/></item><item><title>找工作难？你可能还在用十年前的方式竞争</title><link>https://shenxianpeng.github.io/posts/2026/find-job/</link><pubDate>Fri, 13 Mar 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/find-job/</guid><description>最近有个读者给我发私信，说现在找到工作很难，让我帮看看简历，想问问我有没有什么找工作的建议。现在的就业市场，似乎比以前更看重你可以做什么，做过什么。换句话说，学历重要，但能力更重要。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/find-job/featured.jpg"/></item><item><title>感谢 Canonical 的慷慨捐赠，让 badgepy 得以继续免费开源</title><link>https://shenxianpeng.github.io/posts/2026/thanks-canonical/</link><pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/thanks-canonical/</guid><description>今天无意中发现，Canonical 已经连续四个月通过 thanks.dev 给我捐款支持 badgepy 的开发了。虽然金额不大，但这个反馈对我来说意义重大。它让我意识到，有时候我们只要坚持做对的事情，不去过多担心回报，结果可能会在一个完全意想不到的地方，以一种温暖的方式给你反馈。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/thanks-canonical/featured.webp"/></item><item><title>GitStats 2.0：全新 UI 和图表引擎，让你的 Git 仓库历史数据焕然一新</title><link>https://shenxianpeng.github.io/posts/2026/gitstats-2.0/</link><pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/gitstats-2.0/</guid><description>最近我对开源项目 GitStats 的 UI 进行了大幅改版，新增了深色/浅色模式切换、响应式适配和现代化视觉设计，让报告看起来像一个真正的产品。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/gitstats-2.0/featured.png"/></item><item><title>别学 OpenClaw 了，它撑不过今年</title><link>https://shenxianpeng.github.io/posts/2026/openclaw/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/openclaw/</guid><description>OpenClaw 是一个很好的 idea，但不会是一个很好的 solution。高成本、安全隐患、大厂竞争、用户教育缺失——这四块石头压在一起，很难撑起一个长期繁荣的生态。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/openclaw/featured.webp"/></item><item><title>2025 DevOps 现状报告：技能不再是加分项，而是“必选项”！</title><link>https://shenxianpeng.github.io/posts/2026/state-of-devops/</link><pubDate>Tue, 24 Feb 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/state-of-devops/</guid><description>最新的《2025年 DevOps 现状报告》显示，DevOps 技能已成为职场生存的刚需。40% 的企业将其列为“必须具备”，另有 43% 的企业近期将其列为必选项。相比于培训证书，雇主更看重实战经验。尽管 AIOps 和 DevSecOps 热度极高，但真正的落地仍处于起步阶段。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/state-of-devops/featured.png"/></item><item><title>Agentic DevOps 初探：GitHub Agentic Workflow 与 Continuous AI 的实践观察</title><link>https://shenxianpeng.github.io/posts/2026/agentic-devops/</link><pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/agentic-devops/</guid><description>最近又接触到一个相关但更进一步的概念——Agentic DevOps。花时间阅读了微软 Azure 相关介绍、GitHub 的最新文档以及部分开源实践后，我整理了这篇笔记。目的是记录学习过程，也供同行参考。以下内容基于公开资料和我的理解，不涉及任何夸大预测。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/agentic-devops/featured.jpg"/></item><item><title>Explain Error Plugin 新增两大企业级功能：自定义上下文与文件夹级配置</title><link>https://shenxianpeng.github.io/posts/2026/explain-error-plugin-2/</link><pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/explain-error-plugin-2/</guid><description>Explain Error Plugin 迎来两个重要更新：支持自定义上下文信息和文件夹级别的 AI 提供商配置。这两个功能让插件在企业环境中的使用更加灵活和强大。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/explain-error-plugin-2/featured.png"/></item><item><title>攻城狮周刊（第 5 期）：当最好的工程师不再写代码——AI 编程的繁荣与隐忧</title><link>https://shenxianpeng.github.io/posts/2026/weekly-5/</link><pubDate>Thu, 12 Feb 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/weekly-5/</guid><description>这里记录每周值得分享的技术内容，周五发布。本杂志开源，欢迎投稿。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/weekly-5/featured.jpg"/></item><item><title>攻城狮周刊（第 4 期）：AI 编程助手市场竞争加剧</title><link>https://shenxianpeng.github.io/posts/2026/weekly-4/</link><pubDate>Thu, 05 Feb 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/weekly-4/</guid><description>这里记录每周值得分享的 DevOps 与 AI 技术内容，周五发布。本杂志开源，欢迎投稿。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/weekly-4/featured.webp"/></item><item><title>攻城狮周刊（第 3 期）：OpenClaw 狂热背后，AI 助手回归本地</title><link>https://shenxianpeng.github.io/posts/2026/weekly-3/</link><pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/weekly-3/</guid><description>这里记录每周值得分享的 DevOps 与 AI 技术内容，周五发布。本杂志开源，欢迎投稿。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/weekly-3/featured.png"/></item><item><title>Explain Error Plugin 又更新了：来自用户反馈的两个实用新功能</title><link>https://shenxianpeng.github.io/posts/2026/explain-error-plugin/</link><pubDate>Wed, 28 Jan 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/explain-error-plugin/</guid><description>最近收到一些用户反馈，我也第一时间对 Explain Error Plugin 做了增强，新增了两个非常实用的功能：支持指定语言输出解释内容和支持在 Pipeline 中获取返回值 AI 的返回值。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/explain-error-plugin/featured.png"/></item><item><title>Clawdbot 变身 Moltbot：把 AI “养”在你的电脑里</title><link>https://shenxianpeng.github.io/posts/2026/get-start-clawdbot/</link><pubDate>Tue, 27 Jan 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/get-start-clawdbot/</guid><description>最近 Clawdbot 改名为 Moltbot，越来越多的人开始在家里部署这个 AI 助手。本文分享了 Moltbot 的特点、使用体验以及一些注意事项，帮助你更好地理解和使用这款工具。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/get-start-clawdbot/featured.webp"/></item><item><title>什么是 AIOps？一篇文章带你系统认识智能运维</title><link>https://shenxianpeng.github.io/posts/2026/aiops/</link><pubDate>Tue, 27 Jan 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/aiops/</guid><description>在微服务、混合云和容器化部署横行的今天，IT 系统已变得异常复杂。当成千上万的告警信息涌入时，传统的运维模式很难。AIOps（智能运维），这个由人工智能驱动的变革，正成为 IT 运营管理的“救命稻草”。本文结合 IBM、ServiceNow、GitHub 和 Red Hat 的核心观点，带你透视 AIOps 的全貌。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/aiops/featured.png"/></item><item><title>回国一个月，我什么“大事”也没做</title><link>https://shenxianpeng.github.io/misc/2026-vacation-notes/</link><pubDate>Sat, 24 Jan 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/2026-vacation-notes/</guid><description>记录一下 2026 年春节回国探亲的点滴感受。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/2026-vacation-notes/featured.jpeg"/></item><item><title>几年后再聊“要不要出国”：一些阶段性的思考</title><link>https://shenxianpeng.github.io/misc/go-abroad-or-not/</link><pubDate>Tue, 20 Jan 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/go-abroad-or-not/</guid><description>&lt;p&gt;前几周和几位老同事聚会，聊起了一个我们以前讨论过的话题：要不要出国。&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/go-abroad-or-not/featured.jpg"/></item><item><title>攻城狮周刊（第 2 期）：AI 与平台工程的深度融合，重塑开发者未来</title><link>https://shenxianpeng.github.io/posts/2026/weekly-2/</link><pubDate>Fri, 09 Jan 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/weekly-2/</guid><description>这里记录每周值得分享的 DevOps 与 AI 技术内容，周五发布。本杂志开源，欢迎投稿。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/weekly-2/featured.png"/></item><item><title>攻城狮周刊（第 1 期）：AI 工程化与 DevOps 韧性：2026 年技术发展双主线</title><link>https://shenxianpeng.github.io/posts/2026/weekly-1/</link><pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2026/weekly-1/</guid><description>这里记录每周值得分享的 DevOps 与 AI 技术内容，周五发布。本杂志开源，欢迎投稿。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2026/weekly-1/featured.png"/></item><item><title>2025 年终总结</title><link>https://shenxianpeng.github.io/misc/2025-summary/</link><pubDate>Wed, 31 Dec 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/2025-summary/</guid><description>&lt;p&gt;时间过得很快，每到年末，我都会写一篇流水账，记录过去一年的生活和工作。希望未来的自己还能记得这一年都发生了什么。&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/2025-summary/featured.png"/></item><item><title>GitHub AI 名词全解析：Copilot、Agents、Models 到 MCP，到底谁是谁？</title><link>https://shenxianpeng.github.io/posts/2025/github-ai/</link><pubDate>Fri, 26 Dec 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/github-ai/</guid><description>本文通过基于事实的解释和比喻，详细解读了 GitHub 上的 AI 相关概念及其层级关系，帮助读者理清 Models、Agents、Spaces、Spark 等术语的含义和作用。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/github-ai/featured.png"/></item><item><title>Backstage（开发者门户）是什么？它能解决什么，又解决不了什么</title><link>https://shenxianpeng.github.io/posts/2025/backstage/</link><pubDate>Sun, 14 Dec 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/backstage/</guid><description>Backstage 是什么？它为什么在平台工程领域变得如此重要？分享一些对 Backstage 的认识和判断。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/backstage/featured.png"/></item><item><title>一文看懂 DevOps：Packer、Terraform、Docker、K8s 原来是这样分工的！</title><link>https://shenxianpeng.github.io/posts/2025/devops-tools/</link><pubDate>Wed, 10 Dec 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/devops-tools/</guid><description>在 DevOps 世界里，工具一多，很多人都会混淆它们的职责。用汽车产业链类比，帮你一次性理解 Packer、Terraform、Ansible、Docker、Kubernetes 的定位和协作方式。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/devops-tools/featured.png"/></item><item><title>py-eol：你可能一直在用“过期 Python”，只是没发现</title><link>https://shenxianpeng.github.io/posts/2025/py-eol/</link><pubDate>Thu, 04 Dec 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/py-eol/</guid><description>py-eol 是一个轻量的小工具，帮助你快速判断某个 Python 版本是否已过期或即将 EOL，适合本地使用，也能集成到 CI/CD 中，让项目在版本管理上更可靠。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/py-eol/featured.png"/></item><item><title>为了让大家少敲两行命令，我把 gnuplot 封成了一个开箱即用的 Python 包</title><link>https://shenxianpeng.github.io/posts/2025/gnuplot-wheel/</link><pubDate>Mon, 01 Dec 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/gnuplot-wheel/</guid><description>作为一个开源项目维护者，我深知“安装依赖”的痛苦。为了让用户少敲两行命令，我花时间把 gnuplot 封装成了一个开箱即用的 Python 包——gnuplot-wheel。本文分享了这个小轮子的诞生故事和实用价值。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/gnuplot-wheel/featured.png"/></item><item><title>软件开发真相：加两个人，并不会让项目快三倍</title><link>https://shenxianpeng.github.io/posts/2025/the-mythical-man-month/</link><pubDate>Sun, 30 Nov 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/the-mythical-man-month/</guid><description>在软件开发中，布鲁克斯法则指出“向一个已经延期的软件项目增加人力，只会使它更加延期。”本文通过烤鸡和孕妇的比喻，深入探讨了这一现象背后的原因，并提供了实用的解决方案。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/the-mythical-man-month/featured.png"/></item><item><title>受够了 Jenkinsfile 提交后才报错？试试这个预检查工具！</title><link>https://shenxianpeng.github.io/posts/2025/jenkinsfilelint/</link><pubDate>Thu, 27 Nov 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/jenkinsfilelint/</guid><description>Jenkinsfile 本地检查神器，利用 API 校验，完美支持 pre-commit。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/jenkinsfilelint/featured.png"/></item><item><title>如何激活 InstallShield 许可证</title><link>https://shenxianpeng.github.io/posts/2025/active-installshileld/</link><pubDate>Thu, 20 Nov 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/active-installshileld/</guid><description>本文介绍了如何激活 InstallShield 许可证的步骤和注意事项，帮助用户顺利完成软件安装和使用。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/active-installshileld/featured.png"/></item><item><title>兜兜转转，我发现 GitHub Copilot 才是最香的</title><link>https://shenxianpeng.github.io/posts/2025/copilot/</link><pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/copilot/</guid><description>经过一段时间的对比和尝试，我还是回到了 GitHub Copilot。本文分享我为何认为它是 2025 年最值得订阅的 AI 编程助手，以及实际使用体验。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/copilot/featured.png"/></item><item><title>开源维护者最讨厌的一句话"Any updates?"，你说过吗？</title><link>https://shenxianpeng.github.io/posts/2025/any-updates/</link><pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/any-updates/</guid><description>在开源项目的 issue 里，你是否也曾留言“Any updates?”（有什么更新吗？）来询问进展？看似无害的一句话，实际上却可能让维护者感到烦躁和挫败。本文分享了一篇关于这个话题的文章，并提出了更友善的替代做法。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/any-updates/featured.png"/></item><item><title>Commit Check v2.0.0 重磅发布：支持 TOML 配置、简化 CLI &amp; Hooks、重构验证引擎！</title><link>https://shenxianpeng.github.io/posts/2025/commit-check-v2/</link><pubDate>Mon, 13 Oct 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/commit-check-v2/</guid><description>经过了断断续续一个月的开发和测试，我终于完成了这次重大更新。这也是 Commit Check 迎来了自诞生以来最大的一次更新。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/commit-check-v2/featured.png"/></item><item><title>Jenkins Explain Error 插件现已支持 Ollama！🤖</title><link>https://shenxianpeng.github.io/posts/2025/explain-error-plugin-support-ollama/</link><pubDate>Wed, 01 Oct 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/explain-error-plugin-support-ollama/</guid><description>本文介绍了 Jenkins Explain Error Plugin 的新功能，即支持 Ollama 本地模型，帮助用户更高效地分析和解决构建错误。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/explain-error-plugin-support-ollama/featured.png"/></item><item><title>连微软、NASA 都在用的 C/C++ 工具，终于有了官网！</title><link>https://shenxianpeng.github.io/posts/2025/cpp-linter-website/</link><pubDate>Tue, 30 Sep 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/cpp-linter-website/</guid><description>cpp-linter 相关的项目和工具官网上线了，地址是 &lt;a href="https://cpp-linter.github.io/" target="_blank" rel="noreferrer"&gt;https://cpp-linter.github.io/&lt;/a&gt;，欢迎大家访问和使用。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/cpp-linter-website/featured.png"/></item><item><title>白嫖了这么多年，开源基础设施要开始收费了？</title><link>https://shenxianpeng.github.io/posts/2025/open-infrastructure-is-not-free/</link><pubDate>Wed, 24 Sep 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/open-infrastructure-is-not-free/</guid><description>开源基础设施并非免费，自来水般的 pip/npm 安装背后是高昂的带宽、存储和运维成本。声明呼吁开发者与企业共同分担，优化工具、支持赞助，才能让我们习以为常的“免费”体验真正可持续。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/open-infrastructure-is-not-free/featured.png"/></item><item><title>Conventional Branch 规范一周年：从 0 到全球开发者的选择</title><link>https://shenxianpeng.github.io/posts/2025/conventional-branch-one-year-anniversary/</link><pubDate>Tue, 16 Sep 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/conventional-branch-one-year-anniversary/</guid><description>12K+ 访问量、多语言翻译、全球开发者采用，Conventional Branch 规范的一周年之路</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/conventional-branch-one-year-anniversary/featured.png"/></item><item><title>来欧洲工作一年多，我只加过一次班</title><link>https://shenxianpeng.github.io/posts/2025/work-overtime/</link><pubDate>Fri, 29 Aug 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/work-overtime/</guid><description>在欧洲工作一年多，我只加过一次班，这让我深刻体会到东西方工作文化的差异。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/work-overtime/featured.png"/></item><item><title>博客双语发布不再麻烦：GitHub Actions + Gemini API 实践</title><link>https://shenxianpeng.github.io/posts/2025/auto-translate-post/</link><pubDate>Sun, 24 Aug 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/auto-translate-post/</guid><description>发现我的博客英文读者比中文还多？于是我用 GitHub Actions + Gemini API，把文章自动翻译成英文，省心又高效。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/auto-translate-post/featured.png"/></item><item><title>做开源四年，我得到了 3 个意想不到的收获</title><link>https://shenxianpeng.github.io/posts/2025/why-open-source/</link><pubDate>Fri, 22 Aug 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/why-open-source/</guid><description>有人说开源没用，既赚不到钱，又浪费时间。但我在四年的坚持中，发现了 3 个意想不到的收获：让工作被真正看到、接触更优秀的人和项目、以及一份长期的价值积累。这些收获，其实每个开发者都能借鉴。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/why-open-source/featured.png"/></item><item><title>你的团队 DevOps 到底“几分熟”？这个开源工具告诉你</title><link>https://shenxianpeng.github.io/posts/2025/devops-maturity/</link><pubDate>Sun, 17 Aug 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/devops-maturity/</guid><description>如何评估并提升团队的 DevOps 实践水平？我正式发布了开源项目 DevOps Maturity —— 提供评估工具与实践指南。基于业界模型 + 开源工具，几分钟即可快速测出团队的 DevOps 成熟度。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/devops-maturity/featured.png"/></item><item><title>被 Airflow Maintainer 一顿夸：Rust 重写版 pre-commit 项目 prek 的崛起</title><link>https://shenxianpeng.github.io/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.github.io/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.github.io/posts/2025/pre-commit-competitors/featured.png"/></item><item><title>八年之后，我终于翻新了我的博客</title><link>https://shenxianpeng.github.io/posts/2025/upgrade-blog-using-hugo/</link><pubDate>Sun, 10 Aug 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/upgrade-blog-using-hugo/</guid><description>本文记录了我在八年后对博客进行翻新的过程，从 Hexo 到 Hugo 的迁移，以及新博客的功能和设计改进。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/upgrade-blog-using-hugo/featured.png"/></item><item><title>Jenkins Explain Error Plugin 支持 Google Gemini 了！🤖</title><link>https://shenxianpeng.github.io/posts/2025/explain-error-plugin-support-gemini/</link><pubDate>Sun, 03 Aug 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/explain-error-plugin-support-gemini/</guid><description>本文介绍了 Jenkins Explain Error Plugin 的新功能，支持 Google Gemini 模型进行错误分析，并提供了配置方法和示例视频。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/explain-error-plugin-support-gemini/featured.png"/></item><item><title>Jenkins 插件中心居然还没有 AI 插件？我写了一个！🤖</title><link>https://shenxianpeng.github.io/posts/2025/explain-error-plugin/</link><pubDate>Tue, 29 Jul 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/explain-error-plugin/</guid><description>介绍我开发的第一个 Jenkins 插件：Explain Error Plugin。它可以自动解析构建失败的日志信息，并生成可读性强的错误解释，帮助开发者更快地定位和解决问题。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/explain-error-plugin/featured.png"/></item><item><title>出国一年，我看清了：不是所有人都适合来欧洲</title><link>https://shenxianpeng.github.io/misc/run-or-not/</link><pubDate>Sun, 13 Jul 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/run-or-not/</guid><description>哪些人适合来欧洲发展，哪些人可能会感到不适？从程序员和孩子爸爸的双重视角，聊聊出国生活的真实体验。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/run-or-not/featured.png"/></item><item><title>🧊2025软件供应链现状报告：开源时代，我们究竟在和谁打交道？</title><link>https://shenxianpeng.github.io/posts/2025/jfrog-report/</link><pubDate>Sat, 28 Jun 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/jfrog-report/</guid><description>JFrog发布的《2025软件供应链现状报告》揭示了软件供应链的变化和风险，尤其是AI模型的安全问题。本文分享了报告中的关键发现和对DevOps从业者的启示。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/jfrog-report/featured.png"/></item><item><title>如何修复 Shields.io 徽章在 Jenkins 中无法显示</title><link>https://shenxianpeng.github.io/posts/2025/jenkins-show-badge/</link><pubDate>Mon, 23 Jun 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/jenkins-show-badge/</guid><description>如果你的 Shields.io 徽章（例如构建状态或文档状态）在 Jenkins 仪表盘中无法显示，很可能是因为 Jenkins 的严格内容安全策略（CSP）限制所致。本文将演示如何通过 Script Console 临时修复，以及如何通过修改 Jenkins 启动参数永久解决。该方法适用于内部 Jenkins 环境，并已在现代 Jenkins 安装中测试验证。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/jenkins-show-badge/featured.png"/></item><item><title>提升代码可追溯性：一招把 PR 描述写入 Git commit</title><link>https://shenxianpeng.github.io/posts/2025/commit-message-template/</link><pubDate>Thu, 12 Jun 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/commit-message-template/</guid><description>在 Bitbucket 中使用 Commit Message Templates 功能，将 PR 描述自动写入 Git commit message，确保关键信息不会随工具变更而丢失。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/commit-message-template/featured.png"/></item><item><title>如何优雅地控制 Jenkins 构建是否中断？只看这篇</title><link>https://shenxianpeng.github.io/posts/2025/jenkins-concurrent-build/</link><pubDate>Thu, 05 Jun 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/jenkins-concurrent-build/</guid><description>在 Jenkins 中，&lt;code&gt;disableConcurrentBuilds&lt;/code&gt; 选项用于管理并发构建。本文介绍了如何根据分支类型动态设置 &lt;code&gt;abortPrevious&lt;/code&gt; 的值，从而实现更灵活的构建管理。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/jenkins-concurrent-build/featured.png"/></item><item><title>CI/CD 不是一次性的项目，而是一个不断演进的系统</title><link>https://shenxianpeng.github.io/posts/2025/code-refactor/</link><pubDate>Mon, 02 Jun 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/code-refactor/</guid><description>在 DevOps 中，CI/CD 流水线需要持续维护和重构。本文探讨了为什么 CI/CD 不是一次性的建设项目，而是一个需要长期投入和持续演进的系统。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/code-refactor/featured.png"/></item><item><title>asdf-clang-tools：使用 asdf 安装 Clang 工具的新选择</title><link>https://shenxianpeng.github.io/posts/2025/asdf-clang-tools/</link><pubDate>Thu, 29 May 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/asdf-clang-tools/</guid><description>asdf-clang-tools 是一个 asdf 插件，用于安装和管理 Clang Tools 相关工具（如 clang-format、clang-tidy、clang-query 和 clang-apply-replacements 等）。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/asdf-clang-tools/featured.png"/></item><item><title>ChatGPT 一开，谁还去“努力”？</title><link>https://shenxianpeng.github.io/posts/2025/ai/</link><pubDate>Mon, 26 May 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/ai/</guid><description>AI 的出现让很多人感到“虚”，但它不会取代我们的职位，而是改变我们的做事方式。本文分享了对 AI 的体会和每天一小步的坚持。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/ai/featured.png"/></item><item><title>还在用 Wiki/Confluence？你可能在生产垃圾</title><link>https://shenxianpeng.github.io/posts/2025/docs-and-code/</link><pubDate>Wed, 14 May 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/docs-and-code/</guid><description>在企业中，Wiki 和 Confluence 等文档工具如果缺乏统一管理和审核机制，可能会导致信息混乱和知识沉淀失败。本文探讨了如何避免这种情况，并借鉴开源社区的成功经验。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/docs-and-code/featured.png"/></item><item><title>还在用 pip 和 venv？那你可真落伍了，赶紧体验 uv！</title><link>https://shenxianpeng.github.io/posts/2025/uv/</link><pubDate>Mon, 05 May 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/uv/</guid><description>uv 是一个由 Astral 团队开发的 Python 包管理工具，它能替代 pip、venv、pip-tools 的功能，提供更快的依赖解析速度和更现代的项目管理方式。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/uv/featured.png"/></item><item><title>全程记录｜PyCon LT 2025 第三天：AI 能取代你吗？</title><link>https://shenxianpeng.github.io/misc/pycon-lt-d3/</link><pubDate>Tue, 29 Apr 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/pycon-lt-d3/</guid><description>今天是 PyCon LT 2025 的最后一天，主题是 AI and ML Day。分享了几位女性讲者的精彩演讲，以及对数据科学和 AI 的新认识。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/pycon-lt-d3/featured.png"/></item><item><title>全程记录｜PyCon LT 2025 第二天：被几位女性开发者圈粉了</title><link>https://shenxianpeng.github.io/misc/pycon-lt-d2/</link><pubDate>Thu, 24 Apr 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/pycon-lt-d2/</guid><description>今天是 PyCon LT 2025 的 Data Day，主题是 Dataframes、Databases、Orchestration。虽然不太熟悉这些领域，但几位女性讲者的演讲让我印象深刻，收获颇丰。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/pycon-lt-d2/featured.png"/></item><item><title>全程记录｜PyCon LT 2025 第一天：我在异国 Python 大会上的见闻</title><link>https://shenxianpeng.github.io/misc/pycon-lt-d1/</link><pubDate>Wed, 23 Apr 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/pycon-lt-d1/</guid><description>参加了 PyCon LT 2025 的第一天，分享了演讲内容、个人感受以及对 Python 社区的思考。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/pycon-lt-d1/featured.png"/></item><item><title>回国休假的一点感慨：北京的夜，好晚</title><link>https://shenxianpeng.github.io/misc/one-night-in-beijing/</link><pubDate>Wed, 16 Apr 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/one-night-in-beijing/</guid><description>在北京停留的一晚，和同学小聚，感受到北京人下班的晚节奏，以及生活在大城市的压力和挑战。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/one-night-in-beijing/featured.png"/></item><item><title>微软、NASA 都在用？我用业余时间维护了 4 年的项目破百了</title><link>https://shenxianpeng.github.io/posts/2025/cpp-linter-action-milestone/</link><pubDate>Tue, 15 Apr 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/cpp-linter-action-milestone/</guid><description>cpp-linter-action 是一个 GitHub Action，提供 C/C++ 代码的格式化和静态分析功能。它使用 clang-format 和 clang-tidy，支持多种配置和自定义规则。项目自 2021 年创建以来，已被多个知名组织和开源项目使用。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/cpp-linter-action-milestone/featured.png"/></item><item><title>访问 GitHub 的那点坚持，快磨没了</title><link>https://shenxianpeng.github.io/posts/2025/visit-github/</link><pubDate>Sun, 13 Apr 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/visit-github/</guid><description>GitHub 的访问问题让很多程序员感到困扰，尤其是在国内。本文分享了个人的体验和对网络问题的思考。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/visit-github/featured.png"/></item><item><title>从零配置 Sphinx + ReadTheDocs：快速部署自动化文档</title><link>https://shenxianpeng.github.io/posts/2025/sphinx-readthedoc/</link><pubDate>Sat, 12 Apr 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/sphinx-readthedoc/</guid><description>在开源项目或团队协作中，Sphinx + ReadTheDocs 是一个易于维护、可自动部署的文档系统。本文记录了配置过程和注意事项。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/sphinx-readthedoc/featured.png"/></item><item><title>Markdown 不香了吗？为什么越来越多 Python 项目用 RST？</title><link>https://shenxianpeng.github.io/posts/2025/md-vs-rst/</link><pubDate>Fri, 11 Apr 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/md-vs-rst/</guid><description>Markdown 和 reStructuredText（RST）是两种常用的标记语言。本文对比了它们的优缺点，并分享了在不同场景下的使用建议。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/md-vs-rst/featured.png"/></item><item><title>为什么越来越多的企业用户开始放弃 VMware？</title><link>https://shenxianpeng.github.io/posts/2025/nutanix/</link><pubDate>Wed, 12 Mar 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/nutanix/</guid><description>Broadcom 收购 VMware 后，许多企业用户开始寻找替代方案。Nutanix 作为一个超融合基础设施（HCI）解决方案，提供了更低的成本和更简洁的管理界面，是一个不错的选择。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/nutanix/featured.png"/></item><item><title>一觉醒来，我的 PR 已经被 Merge 到 CPython 主分支了！</title><link>https://shenxianpeng.github.io/posts/2025/my-first-pr-to-cpython/</link><pubDate>Thu, 27 Feb 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/my-first-pr-to-cpython/</guid><description>在 CPython 的 Issue 区找到一个合适的 PR，修改代码、测试、提交 Pull Request，第二天醒来发现已经被 Merge 到主分支了！这是一个很好的学习过程，也是对开源社区的贡献。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/my-first-pr-to-cpython/featured.png"/></item><item><title>为什么我选择参与 EuroPython 2025 评审？</title><link>https://shenxianpeng.github.io/posts/2025/euro-python-review/</link><pubDate>Fri, 14 Feb 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/euro-python-review/</guid><description>最近工作之余没怎么贡献代码，主要把时间都用在了评审 EuroPython 2025 （欧洲 Python 2025 大会）的提案上了。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/euro-python-review/featured.png"/></item><item><title>gitstats 升级来袭：支持 JSON 输出、多平台兼容、代码重构！</title><link>https://shenxianpeng.github.io/posts/2025/gitstats-update/</link><pubDate>Wed, 05 Feb 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/gitstats-update/</guid><description>gitstats 经过两个月的持续改进，现已支持 JSON 输出、代码重构、argparse 替换 getopt，并全面兼容 Windows 和 macOS。欢迎使用和 Star 支持！</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/gitstats-update/featured.png"/></item><item><title>如何使用 Jenkins Docker Cloud</title><link>https://shenxianpeng.github.io/posts/2025/jenkins-docker-cloud/</link><pubDate>Sat, 25 Jan 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/jenkins-docker-cloud/</guid><description>本文介绍如何使用 Jenkins Docker Cloud 来构建和部署应用，包括配置 Docker 主机以及创建自定义 Docker 镜像。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/jenkins-docker-cloud/featured.png"/></item><item><title>CPython 停止更新 Copyright 了，为什么？</title><link>https://shenxianpeng.github.io/posts/2025/copyright/</link><pubDate>Mon, 20 Jan 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2025/copyright/</guid><description>CPython 停止更新 Copyright 的原因和过程。了解 Python 项目法律团队的建议，以及如何处理开源项目中的版权声明。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2025/copyright/featured.png"/></item><item><title>2024 年终总结</title><link>https://shenxianpeng.github.io/misc/2024-summary/</link><pubDate>Sat, 28 Dec 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/2024-summary/</guid><description>&lt;p&gt;时间过得很快，2024 年即将过去。如果不记录下在这一年里发生的事情，过不了多久就很难回想起这一年都发生了什么。按照惯例，这篇年终总结如期而至。&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/2024-summary/featured.png"/></item><item><title>我的女儿</title><link>https://shenxianpeng.github.io/misc/my-daughter/</link><pubDate>Sat, 28 Dec 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/my-daughter/</guid><description>女儿已经两岁七个月了，我还没有单独写过一篇关于她的文章。记录下我和女儿的点滴生活。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/my-daughter/featured.png"/></item><item><title>复活 GitStats：让 Git 历史分析焕发新活力</title><link>https://shenxianpeng.github.io/posts/2024/gitstats/</link><pubDate>Thu, 28 Nov 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/gitstats/</guid><description>介绍 GitStats 项目的复活过程，包括迁移到 Python 3、创建现代化流水线、发布到 PyPI 和 Docker，以及未来的改进计划。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/gitstats/featured.png"/></item><item><title>pip vs pipx 的区别</title><link>https://shenxianpeng.github.io/posts/2024/pip-vs-pipx/</link><pubDate>Tue, 26 Nov 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/pip-vs-pipx/</guid><description>本文介绍了 pip 和 pipx 的区别，帮助开发者选择合适的工具来管理 Python 包和命令行工具。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/pip-vs-pipx/featured.png"/></item><item><title>PowerShell 不是内部或外部命令</title><link>https://shenxianpeng.github.io/posts/2024/ansbile-playbook-issue/</link><pubDate>Mon, 18 Nov 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/ansbile-playbook-issue/</guid><description>介绍在 Windows Server 2022 上执行 Ansible playbook 时出现 PowerShell 无法识别的问题原因及解决方法。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/ansbile-playbook-issue/featured.png"/></item><item><title>从早到晚，我的 DevOps 一天</title><link>https://shenxianpeng.github.io/posts/2024/devops-everyday/</link><pubDate>Sun, 27 Oct 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/devops-everyday/</guid><description>本文介绍了作为 DevOps 工程师的日常工作节奏，从早上到晚上，涵盖工作准备、会议、代码管理、构建发布等环节。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/devops-everyday/featured.png"/></item><item><title>从 Jenkins 升级，我做了哪些优化</title><link>https://shenxianpeng.github.io/posts/2024/jenkins-upgrade/</link><pubDate>Thu, 24 Oct 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/jenkins-upgrade/</guid><description>本文介绍了在升级 Jenkins 的过程中所做的优化，包括使用 Docker Compose 部署、重构 Jenkins Shared Library、引入 Windows Docker Container 等，以提升 CI/CD 流程的效率和安全性。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/jenkins-upgrade/featured.png"/></item><item><title>选择往往比努力更重要</title><link>https://shenxianpeng.github.io/misc/power-of-choice/</link><pubDate>Fri, 27 Sep 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/power-of-choice/</guid><description>偶尔深夜躺下时，我常常在想，我是怎么就走到这了？这都是源于毕业后的一系列选择吧！</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/power-of-choice/featured.png"/></item><item><title>DevOps进阶：揭秘首席DevOps工程师的职责与技能</title><link>https://shenxianpeng.github.io/posts/2024/principal-devops-engineer/</link><pubDate>Thu, 26 Sep 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/principal-devops-engineer/</guid><description>本文介绍了首席DevOps工程师的职责、核心技能和对公司的价值，帮助你了解如何在DevOps领域实现职业发展。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/principal-devops-engineer/featured.png"/></item><item><title>约定式分支规范中文版正式发布！</title><link>https://shenxianpeng.github.io/posts/2024/conventional-branch/</link><pubDate>Tue, 24 Sep 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/conventional-branch/</guid><description>本文介绍了约定式分支规范的中文版，旨在通过结构化的命名约定提高 Git 分支的可读性和可操作性。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/conventional-branch/featured.png"/></item><item><title>初步了解 PyPA（Python Packaging Authority）下的知名项目和关系</title><link>https://shenxianpeng.github.io/posts/2024/pypa/</link><pubDate>Thu, 05 Sep 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/pypa/</guid><description>本文介绍了 PyPA（Python Packaging Authority）下的知名项目，包括 pip、setuptools、wheel 等，并分析了它们之间的关系，帮助读者更好地理解 Python 包管理和分发的生态系统。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/pypa/featured.png"/></item><item><title>我记得</title><link>https://shenxianpeng.github.io/misc/remember/</link><pubDate>Tue, 09 Jul 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/remember/</guid><description>最近开车的时候我总爱听赵雷的歌，尤其是那首《我记得》。这篇文章记录了我在Rocket中国分公司的毕业季和同事们的祝福。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/remember/featured.png"/></item><item><title>告别Rocket中国，回连十年再启程</title><link>https://shenxianpeng.github.io/misc/farewell/</link><pubDate>Fri, 28 Jun 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/farewell/</guid><description>2024年6月28日是我在Rocket中国分公司的最后一天，回顾十年征程，展望未来新篇章。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/farewell/featured.png"/></item><item><title>你的软件究竟从哪里来？</title><link>https://shenxianpeng.github.io/posts/2024/where-does-your-software-come-from/</link><pubDate>Thu, 13 Jun 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/where-does-your-software-come-from/</guid><description>本文介绍了软件制品的来源证明，强调了在软件开发生命周期中保护代码转换为制品的流程的重要性，并介绍了 SLSA 项目和 Sigstore 的作用。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/where-does-your-software-come-from/featured.png"/></item><item><title>代码签名（Code Signing） - GaraSign</title><link>https://shenxianpeng.github.io/posts/2024/garasign/</link><pubDate>Mon, 10 Jun 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/garasign/</guid><description>本文介绍了 GaraSign 代码签名工具的安装、使用和验证方法，帮助开发者实现安全的代码签名。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/garasign/featured.png"/></item><item><title>Python 软件基金会 (PFS) 基础设施概览</title><link>https://shenxianpeng.github.io/posts/2024/psf-infra/</link><pubDate>Tue, 28 May 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/psf-infra/</guid><description>本文介绍了 Python 软件基金会 (PFS) 的基础设施，包括其服务、提供商和团队成员，帮助读者了解 PFS 如何支持 Python 社区。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/psf-infra/featured.png"/></item><item><title>代码签名（Code Signing）</title><link>https://shenxianpeng.github.io/posts/2024/code-signing/</link><pubDate>Mon, 29 Apr 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/code-signing/</guid><description>本文介绍代码签名的概念、重要性以及两种常见的代码签名工具，强调代码签名在软件供应链安全中的作用。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/code-signing/featured.png"/></item><item><title>通过 Jenkins-X 社区最终进入到 Jenkins 基础设施团队成为 SRE 的经历</title><link>https://shenxianpeng.github.io/posts/2024/jenkins-contributors/</link><pubDate>Sun, 21 Apr 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/jenkins-contributors/</guid><description>本文介绍了 Hervé Le Meur 如何通过 Jenkins-X 社区的贡献，最终成为 Jenkins 基础设施团队的一名 SRE，并分享了他的经历和对 Jenkins 的看法。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/jenkins-contributors/featured.png"/></item><item><title>2024年如何保持竞争力：DevOps工程师的关键技能</title><link>https://shenxianpeng.github.io/posts/2024/devops-skills-2024/</link><pubDate>Mon, 08 Apr 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/devops-skills-2024/</guid><description>本文介绍了在2024年DevOps工程师需要掌握的关键技能和能力，以应对裁员潮和人工智能的挑战，保持竞争力。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/devops-skills-2024/featured.png"/></item><item><title>你一定要了解的 GitHub Action 特性：可重用工作流（Reusable Workflows）</title><link>https://shenxianpeng.github.io/posts/2024/reusable-workflows/</link><pubDate>Mon, 25 Mar 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/reusable-workflows/</guid><description>本文介绍了 GitHub Actions 的可重用工作流（Reusable Workflows）特性，帮助开发者和团队更高效地管理和复用 CI/CD 流程。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/reusable-workflows/featured.png"/></item><item><title>2023 年开源状况和人工智能的崛起（GitHub）</title><link>https://shenxianpeng.github.io/posts/2024/open-source-state/</link><pubDate>Thu, 22 Feb 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/open-source-state/</guid><description>本文介绍了 GitHub 发布的 2023 年开源状况和人工智能的崛起报告，分析了开发者社区的增长、生成式 AI 的应用以及云原生技术的发展趋势。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/open-source-state/featured.png"/></item><item><title>cpp-linter-action 最新版支持 Pull Request Review 功能了 👏</title><link>https://shenxianpeng.github.io/posts/2024/cpp-linter-action/</link><pubDate>Sat, 17 Feb 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/cpp-linter-action/</guid><description>本文介绍了 cpp-linter-action 的新功能：Pull Request Review，允许开发者直接在 GitHub 上提交代码修改建议，提升代码质量和协作效率。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/cpp-linter-action/featured.png"/></item><item><title>看看顶级的开源组织都在用哪些服务和工具</title><link>https://shenxianpeng.github.io/posts/2024/apache-services-and-tools/</link><pubDate>Sun, 21 Jan 2024 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2024/apache-services-and-tools/</guid><description>本篇介绍的是大名鼎鼎的开源软件基金会 Apache 所使用的服务(Services)和工具(Tools)，这或许能帮助你打开视野，在选择工具的时候提供参考。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2024/apache-services-and-tools/featured.png"/></item><item><title>2023 年终总结</title><link>https://shenxianpeng.github.io/misc/2023-summary/</link><pubDate>Sun, 31 Dec 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/2023-summary/</guid><description>&lt;p&gt;时间过得很快，2023 年转瞬即逝。如果不记录下自己在这一年里发生的事情，过不了多久就很难回想起来这一年都发生过什么。&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/2023-summary/featured.png"/></item><item><title>如何把 GitHub Release Notes 按照 New features、Bug Fixes ... 进行自动分类</title><link>https://shenxianpeng.github.io/posts/2023/automatic-categorize-release-notes/</link><pubDate>Wed, 27 Dec 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/automatic-categorize-release-notes/</guid><description>本文将分享针对需要对 GitHub Release Notes 的内容按照标题进行自动分类的两种方式。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/automatic-categorize-release-notes/featured.png"/></item><item><title>如何让 Jenkins Pipeline 在特定错误发生时不中断失败</title><link>https://shenxianpeng.github.io/posts/2023/jenkins-catch-error/</link><pubDate>Fri, 15 Dec 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/jenkins-catch-error/</guid><description>介绍如何在 Jenkins Pipeline 中使用 &lt;code&gt;catchError&lt;/code&gt; 捕获特定错误，并在不中断整个构建的情况下更新阶段或构建结果，从而实现更灵活的错误处理。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/jenkins-catch-error/featured.png"/></item><item><title>如何在 GitHub 与非 GitHub 项目中采用软件供应链安全</title><link>https://shenxianpeng.github.io/posts/2023/supply-chain-security/</link><pubDate>Sat, 02 Dec 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/supply-chain-security/</guid><description>本文介绍如何使用 SLSA 与 Witness 在 GitHub 与非 GitHub 项目中实现软件供应链安全，以提升软件开发与部署流程的安全性。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/supply-chain-security/featured.png"/></item><item><title>Witness 和 SLSA 💃</title><link>https://shenxianpeng.github.io/posts/2023/witness-and-slsa/</link><pubDate>Thu, 30 Nov 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/witness-and-slsa/</guid><description>本文介绍了 Witness 的概念、工作原理以及如何使用 Witness 来生成和验证软件工件的来源，强调了其在提高软件供应链安全性方面的重要性。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/witness-and-slsa/featured.png"/></item><item><title>Python 和 SLSA 💃</title><link>https://shenxianpeng.github.io/posts/2023/python-and-slsa/</link><pubDate>Wed, 15 Nov 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/python-and-slsa/</guid><description>本文介绍了如何在 Python 生态系统中使用 SLSA 框架来生成和验证 Python 工件的来源，从而提升软件供应链的安全性。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/python-and-slsa/featured.png"/></item><item><title>从 XLC 10.1 升级到 IBM Open XL C/C++ for AIX 17.1.0 的问题与解决方案</title><link>https://shenxianpeng.github.io/posts/2023/upgrade-xlc-10-to-xlc-17.1/</link><pubDate>Sun, 08 Oct 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/upgrade-xlc-10-to-xlc-17.1/</guid><description>本文记录了从 IBM XLC 10.1 升级到 XLC 17.1（IBM Open XL C/C++ for AIX 17.1.0）过程中遇到的问题及解决方法，共涵盖 12 个错误的修复方案。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/upgrade-xlc-10-to-xlc-17.1/featured.png"/></item><item><title>解决通过 Jenkins Artifactory plugin 上传 artifacts 失败的问题 “unable to find valid certification path to requested target”</title><link>https://shenxianpeng.github.io/posts/2023/unable-to-find-valid-certification-path/</link><pubDate>Mon, 11 Sep 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/unable-to-find-valid-certification-path/</guid><description>本文介绍了如何解决 Jenkins agent 上传 artifacts 到 Artifactory 时遇到的 SSL 证书验证问题，包括生成安全认证文件和导入到 Java 的 cacerts 中。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/unable-to-find-valid-certification-path/featured.png"/></item><item><title>2023 年最值得关注的 DevOps 趋势</title><link>https://shenxianpeng.github.io/posts/2023/devops-trends-2023/</link><pubDate>Fri, 01 Sep 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/devops-trends-2023/</guid><description>本文介绍了2023年DevOps领域的主要趋势，包括云原生技术的持续采用、加强安全性和合规性、开发与运营团队协作、自动化和人工智能的发展等。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/devops-trends-2023/featured.png"/></item><item><title>从 AIX 上传构件到 Artifactory 失败</title><link>https://shenxianpeng.github.io/posts/2023/upload-artifacts-failed-on-aix/</link><pubDate>Tue, 29 Aug 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/upload-artifacts-failed-on-aix/</guid><description>本文介绍在 AIX 上通过 Jenkins 上传构件到 Artifactory 时遇到的 SSL 证书验证问题，包括更新 Java 的 cacerts 文件来解决问题。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/upload-artifacts-failed-on-aix/featured.png"/></item><item><title>创建 NuGet Organization 的遇到的坑</title><link>https://shenxianpeng.github.io/posts/2023/nuget/</link><pubDate>Fri, 25 Aug 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/nuget/</guid><description>本文记录了在创建 NuGet Organization 时遇到的问题和解决方法，特别是关于公司邮箱地址的使用。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/nuget/featured.png"/></item><item><title>Docker Buildx Bake 加速构建和管理多平台镜像的利器</title><link>https://shenxianpeng.github.io/posts/2023/buildx-bake/</link><pubDate>Mon, 17 Jul 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/buildx-bake/</guid><description>本文介绍 Docker Buildx Bake 的概念、优势、使用场景以及如何使用该功能来加速构建和管理多平台镜像。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/buildx-bake/featured.png"/></item><item><title>详解SBOM：定义、关系、区别、最佳实践和生成工具</title><link>https://shenxianpeng.github.io/posts/2023/sbom/</link><pubDate>Sat, 10 Jun 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/sbom/</guid><description>本文介绍了SBOM的定义、与SLSA和Black Duck的关系和区别、最佳实践以及可用的生成工具，帮助读者更好地理解和应用SBOM。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/sbom/featured.png"/></item><item><title>如果你是项目成员，是 Fork 原始仓库还是直接原始仓库中修改代码？</title><link>https://shenxianpeng.github.io/posts/2023/fork-or-unfork/</link><pubDate>Fri, 09 Jun 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/fork-or-unfork/</guid><description>本文讨论了在开源项目中，作为项目成员是 Fork 原始仓库还是直接在原始仓库中修改代码的利弊，帮助开发者做出更合适的选择。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/fork-or-unfork/featured.png"/></item><item><title>程序员自我修养之Git提交信息和分支创建规范（工具篇）</title><link>https://shenxianpeng.github.io/posts/2023/commit-check/</link><pubDate>Tue, 09 May 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/commit-check/</guid><description>本文介绍如何使用 Commit Check 工具来验证 Git 提交信息、分支命名、提交用户名字、提交用户邮箱等是否符合规范。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/commit-check/featured.png"/></item><item><title>SLSA 框架与软件供应链安全防护</title><link>https://shenxianpeng.github.io/posts/2023/slsa/</link><pubDate>Thu, 23 Mar 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/slsa/</guid><description>本文介绍了 SLSA 框架的概念、目的、等级划分以及如何在软件供应链中应用 SLSA 来提升安全性，帮助读者理解 SLSA 在软件开发和部署中的重要性。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/slsa/featured.png"/></item><item><title>如何在 DevOps 任务中使用 ChatGPT?</title><link>https://shenxianpeng.github.io/posts/2023/chatgpt-for-devops/</link><pubDate>Sun, 26 Feb 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/chatgpt-for-devops/</guid><description>本文探讨如何在 DevOps 任务中使用 ChatGPT，包括自动化代码审查、测试、部署和文档生成等方面的应用。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/chatgpt-for-devops/featured.png"/></item><item><title>为什么我的 Jenkins Controller 越来越慢？可能犯了这些错误...</title><link>https://shenxianpeng.github.io/posts/2023/jenkins-pipeline-best-practices/</link><pubDate>Mon, 06 Feb 2023 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2023/jenkins-pipeline-best-practices/</guid><description>本文介绍了 Jenkins pipeline 的一些最佳实践，旨在帮助开发者和运维人员优化 Jenkins 的性能和可维护性。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2023/jenkins-pipeline-best-practices/featured.png"/></item><item><title>2022 年终总结</title><link>https://shenxianpeng.github.io/misc/2022-summary/</link><pubDate>Wed, 28 Dec 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/2022-summary/</guid><description>&lt;p&gt;时间过得好快，又过完了一年。&lt;/p&gt;
&lt;p&gt;今年想写一些总结回顾一下过去的一年发生在自己身上的重要事件。&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/2022-summary/featured.png"/></item><item><title>如何在 Jenkins 多分支流水线中实现 [skip ci]</title><link>https://shenxianpeng.github.io/posts/2022/jenkins-skip-ci/</link><pubDate>Sun, 09 Oct 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/jenkins-skip-ci/</guid><description>本文介绍如何在 Jenkins 多分支流水线中实现 [skip ci] 功能，根据提交信息跳过构建。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/jenkins-skip-ci/featured.png"/></item><item><title>如何修复 WSL 中的 "Temporary Failure in name resolution" 错误</title><link>https://shenxianpeng.github.io/posts/2022/fix-wsl-networking-issue/</link><pubDate>Tue, 27 Sep 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/fix-wsl-networking-issue/</guid><description>本文介绍如何通过配置 DNS 并确保修改持久化，来解决 WSL 中的 &amp;ldquo;Temporary failure in name resolution&amp;rdquo; 问题。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/fix-wsl-networking-issue/featured.png"/></item><item><title>限制他人登录你的重要 Linux 服务器</title><link>https://shenxianpeng.github.io/posts/2022/restrict-connect-server/</link><pubDate>Fri, 16 Sep 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/restrict-connect-server/</guid><description>本文介绍如何通过修改 &lt;code&gt;/etc/security/access.conf&lt;/code&gt; 文件，限制只有特定用户可以登录关键的 Linux 服务器。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/restrict-connect-server/featured.png"/></item><item><title>C/C++ 代码格式化和静态分析检查的一站式工作流 Cpp Linter</title><link>https://shenxianpeng.github.io/posts/2022/cpp-linter/</link><pubDate>Tue, 23 Aug 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/cpp-linter/</guid><description>本文介绍了 C/C++ 代码格式化和静态分析检查的工具和工作流，重点介绍了 clang-tools 的使用和集成方式。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/cpp-linter/featured.png"/></item><item><title>如何创建 GPG 密钥并添加到 GitHub</title><link>https://shenxianpeng.github.io/posts/2022/git-create-gpg-keys/</link><pubDate>Thu, 28 Jul 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/git-create-gpg-keys/</guid><description>本文介绍如何生成 GPG 密钥、导出公钥并将其添加到 GitHub，用于提交签名验证。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/git-create-gpg-keys/featured.png"/></item><item><title>关于</title><link>https://shenxianpeng.github.io/about/</link><pubDate>Mon, 13 Jun 2022 20:55:37 +0100</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/about/</guid><description>&lt;ol class="border-s-2 border-primary-500 dark:border-primary-300 list-none"&gt;






&lt;li&gt;
 &lt;div class="flex"&gt;
 &lt;div
 class="bg-primary-500 dark:bg-primary-300 text-neutral-50 dark:text-neutral-700 min-w-[30px] h-8 text-2xl flex items-center justify-center rounded-full ltr:-ml-12 rtl:-mr-[79px] mt-5"&gt;
 &lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"&gt;&lt;path fill="currentColor" d="M48 32H197.5C214.5 32 230.7 38.74 242.7 50.75L418.7 226.7C443.7 251.7 443.7 292.3 418.7 317.3L285.3 450.7C260.3 475.7 219.7 475.7 194.7 450.7L18.75 274.7C6.743 262.7 0 246.5 0 229.5V80C0 53.49 21.49 32 48 32L48 32zM112 176C129.7 176 144 161.7 144 144C144 126.3 129.7 112 112 112C94.33 112 80 126.3 80 144C80 161.7 94.33 176 112 176z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="block p-6 rounded-lg shadow-2xl flex-1 ms-6 mb-10 break-words"&gt;
 &lt;div class="flex justify-between"&gt;
 
 &lt;h2 class="mt-0"&gt;你好！我是沈显鹏&lt;/h2&gt;
 
 
 &lt;h3 class=""&gt;
 &lt;span class="flex cursor-pointer"&gt;
 &lt;span
 class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400"&gt;
 Welcome
 &lt;/span&gt;
&lt;/span&gt;

 &lt;/h3&gt;
 
 &lt;/div&gt;
 
 &lt;h4 class="mt-0"&gt;
 欢迎来到我的个人网站
 &lt;/h4&gt;
 
 &lt;div class="mb-6"&gt;
 
我撰写&lt;a href="../posts/"&gt;文章&lt;/a&gt;，开发&lt;a href="../portfolio/"&gt;免费软件&lt;/a&gt;，参与开源项目。

 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/li&gt;






&lt;li&gt;
 &lt;div class="flex"&gt;
 &lt;div
 class="bg-primary-500 dark:bg-primary-300 text-neutral-50 dark:text-neutral-700 min-w-[30px] h-8 text-2xl flex items-center justify-center rounded-full ltr:-ml-12 rtl:-mr-[79px] mt-5"&gt;
 &lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M266.3 48.3L232.5 73.6c-5.4 4-8.5 10.4-8.5 17.1v9.1c0 6.8 5.5 12.3 12.3 12.3c2.4 0 4.8-.7 6.8-2.1l41.8-27.9c2-1.3 4.4-2.1 6.8-2.1h1c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8l-19.9 19.9c-5.8 5.8-12.9 10.2-20.7 12.8l-26.5 8.8c-5.8 1.9-9.6 7.3-9.6 13.4c0 3.7-1.5 7.3-4.1 10l-17.9 17.9c-6.4 6.4-9.9 15-9.9 24v4.3c0 16.4 13.6 29.7 29.9 29.7c11 0 21.2-6.2 26.1-16l4-8.1c2.4-4.8 7.4-7.9 12.8-7.9c4.5 0 8.7 2.1 11.4 5.7l16.3 21.7c2.1 2.9 5.5 4.5 9.1 4.5c8.4 0 13.9-8.9 10.1-16.4l-1.1-2.3c-3.5-7 0-15.5 7.5-18l21.2-7.1c7.6-2.5 12.7-9.6 12.7-17.6c0-10.3 8.3-18.6 18.6-18.6H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H379.3c-7.2 0-14.2 2.9-19.3 8l-4.7 4.7c-2.1 2.1-3.3 5-3.3 8c0 6.2 5.1 11.3 11.3 11.3h11.3c6 0 11.8 2.4 16 6.6l6.5 6.5c1.8 1.8 2.8 4.3 2.8 6.8s-1 5-2.8 6.8l-7.5 7.5C386 262 384 266.9 384 272s2 10 5.7 13.7L408 304c10.2 10.2 24.1 16 38.6 16H454c6.5-20.2 10-41.7 10-64c0-111.4-87.6-202.4-197.7-207.7zm172 307.9c-3.7-2.6-8.2-4.1-13-4.1c-6 0-11.8-2.4-16-6.6L396 332c-7.7-7.7-18-12-28.9-12c-9.7 0-19.2-3.5-26.6-9.8L314 287.4c-11.6-9.9-26.4-15.4-41.6-15.4H251.4c-12.6 0-25 3.7-35.5 10.7L188.5 301c-17.8 11.9-28.5 31.9-28.5 53.3v3.2c0 17 6.7 33.3 18.7 45.3l16 16c8.5 8.5 20 13.3 32 13.3H248c13.3 0 24 10.7 24 24c0 2.5 .4 5 1.1 7.3c71.3-5.8 132.5-47.6 165.2-107.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM187.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32c6.2-6.2 6.2-16.4 0-22.6z"/&gt;&lt;/svg&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="block p-6 rounded-lg shadow-2xl flex-1 ms-6 mb-10 break-words"&gt;
 &lt;div class="flex justify-between"&gt;
 
 &lt;h2 class="mt-0"&gt;目前在立陶宛维尔纽斯&lt;/h2&gt;
 
 
 &lt;h3 class=""&gt;
 &lt;span class="flex cursor-pointer"&gt;
 &lt;span
 class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400"&gt;
 Vilnius, Lithuania
 &lt;/span&gt;
&lt;/span&gt;

 &lt;/h3&gt;
 
 &lt;/div&gt;
 
 &lt;h4 class="mt-0"&gt;
 探索 · 学习 · 分享
 &lt;/h4&gt;
 
 &lt;div class="mb-6"&gt;
 
日常使用语言：中文 · 英语 · 立陶宛语（初学者）

 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/li&gt;






&lt;li&gt;
 &lt;div class="flex"&gt;
 &lt;div
 class="bg-primary-500 dark:bg-primary-300 text-neutral-50 dark:text-neutral-700 min-w-[30px] h-8 text-2xl flex items-center justify-center rounded-full ltr:-ml-12 rtl:-mr-[79px] mt-5"&gt;
 &lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"&gt;
&lt;path fill="currentColor" d="M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"/&gt;&lt;/svg&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="block p-6 rounded-lg shadow-2xl flex-1 ms-6 mb-10 break-words"&gt;
 &lt;div class="flex justify-between"&gt;
 
 &lt;h2 class="mt-0"&gt;开源项目&lt;/h2&gt;
 
 
 &lt;h3 class=""&gt;
 &lt;span class="flex cursor-pointer"&gt;
 &lt;span
 class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400"&gt;
 Open Source
 &lt;/span&gt;
&lt;/span&gt;

 &lt;/h3&gt;
 
 &lt;/div&gt;
 
 &lt;h4 class="mt-0"&gt;
 欢迎贡献
 &lt;/h4&gt;
 
 &lt;div class="mb-6"&gt;
 

我维护了多个开源组织和仓库，被全球开发者和团队广泛使用。欢迎任何形式的贡献或反馈。&lt;a href="../portfolio/"&gt;查看作品&lt;/a&gt;。


 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/li&gt;






&lt;li&gt;
 &lt;div class="flex"&gt;
 &lt;div
 class="bg-primary-500 dark:bg-primary-300 text-neutral-50 dark:text-neutral-700 min-w-[30px] h-8 text-2xl flex items-center justify-center rounded-full ltr:-ml-12 rtl:-mr-[79px] mt-5"&gt;
 &lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;
&lt;path fill="currentColor" d="M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z"/&gt;&lt;/svg&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="block p-6 rounded-lg shadow-2xl flex-1 ms-6 mb-10 break-words"&gt;
 &lt;div class="flex justify-between"&gt;
 
 &lt;h2 class="mt-0"&gt;支持我&lt;/h2&gt;
 
 
 &lt;h3 class=""&gt;
 &lt;span class="flex cursor-pointer"&gt;
 &lt;span
 class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400"&gt;
 Donate
 &lt;/span&gt;
&lt;/span&gt;

 &lt;/h3&gt;
 
 &lt;/div&gt;
 
 &lt;h4 class="mt-0"&gt;
 帮助保持这个博客无广告！
 &lt;/h4&gt;
 
 &lt;div class="mb-6"&gt;
 

这个博客一直没有广告，我希望大家能有一个干净、专注的阅读体验。写作需要投入大量时间和精力，如果我的内容对你有帮助，欢迎请我喝杯咖啡或赞助我的工作：

&lt;ul&gt;
 &lt;li&gt;🌟 &lt;a href="https://github.com/sponsors/shenxianpeng" target="_blank" rel="noopener"&gt;GitHub Sponsors&lt;/a&gt; 上赞助我&lt;/li&gt;
 &lt;li&gt;💙 通过 &lt;a href="https://thanks.dev/u/gh/shenxianpeng" target="_blank" rel="noopener"&gt;Thanks.dev&lt;/a&gt; 支持&lt;/li&gt;
 &lt;li&gt;☕ 请我喝杯咖啡：&lt;a href="https://buymeacoffee.com/shenxianpeng" target="_blank" rel="noopener"&gt;Buy Me a Coffee&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/li&gt;






&lt;li&gt;
 &lt;div class="flex"&gt;
 &lt;div
 class="bg-primary-500 dark:bg-primary-300 text-neutral-50 dark:text-neutral-700 min-w-[30px] h-8 text-2xl flex items-center justify-center rounded-full ltr:-ml-12 rtl:-mr-[79px] mt-5"&gt;
 &lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/&gt;&lt;/svg&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="block p-6 rounded-lg shadow-2xl flex-1 ms-6 mb-10 break-words"&gt;
 &lt;div class="flex justify-between"&gt;
 
 &lt;h2 class="mt-0"&gt;联系我&lt;/h2&gt;
 
 
 &lt;h3 class=""&gt;
 &lt;span class="flex cursor-pointer"&gt;
 &lt;span
 class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400"&gt;
 Let&amp;#39;s Connect
 &lt;/span&gt;
&lt;/span&gt;

 &lt;/h3&gt;
 
 &lt;/div&gt;
 
 &lt;h4 class="mt-0"&gt;
 合作 · 邀稿 · 交流
 &lt;/h4&gt;
 
 &lt;div class="mb-6"&gt;
 
xianpeng.shen@gmail.com

 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/li&gt;

&lt;/ol&gt;</description></item><item><title>12 周的陪产假我一刻都没闲着</title><link>https://shenxianpeng.github.io/posts/2022/vacation-weekly-report/</link><pubDate>Mon, 13 Jun 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/vacation-weekly-report/</guid><description>本文记录了我在陪产假期间的学习和工作安排，包括阅读书籍、参与开源项目、体育锻炼等，分享了如何在照顾家庭的同时保持学习和成长。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/vacation-weekly-report/featured.png"/></item><item><title>在 Windows 做开发还能这么爽？WSL + VS Code + Docker Desktop 你值得有用</title><link>https://shenxianpeng.github.io/posts/2022/wsl/</link><pubDate>Tue, 19 Apr 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/wsl/</guid><description>本文介绍了如何在 Windows 上使用 WSL、VS Code 和 Docker Desktop 进行开发，提供了安装和配置的详细步骤，以及使用这些工具的优势和体验。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/wsl/featured.png"/></item><item><title>关于 Docker，containerd，CRI，CRI-O，OCI，runc 的解释以及它们是如何工作在一起的</title><link>https://shenxianpeng.github.io/posts/2022/container-ecosystem/</link><pubDate>Tue, 29 Mar 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/container-ecosystem/</guid><description>本文介绍了 Docker、containerd、CRI、CRI-O、OCI 和 runc 等容器生态系统中的关键组件和标准，解释它们之间的关系以及如何协同工作。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/container-ecosystem/featured.png"/></item><item><title>如何启用、配置和禁用 Jenkins LDAP</title><link>https://shenxianpeng.github.io/posts/2022/jenkins-ldap-configuration/</link><pubDate>Tue, 15 Mar 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/jenkins-ldap-configuration/</guid><description>本文介绍如何在 Jenkins 中启用和配置 LDAP 身份验证，以及在需要时临时禁用它的方法。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/jenkins-ldap-configuration/featured.png"/></item><item><title>靠谱：在不删除和重建 GitHub 仓库的情况下与父(Fork)仓库分离(Unfork)</title><link>https://shenxianpeng.github.io/posts/2022/unfork-github-repo/</link><pubDate>Wed, 09 Mar 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/unfork-github-repo/</guid><description>本文介绍了如何通过 GitHub Support 实现与父仓库的分离，避免删除和重建仓库带来的数据丢失问题，帮助开发者更好地管理 Fork 的仓库。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/unfork-github-repo/featured.png"/></item><item><title>在 Jenkins 上用了这么久的 Groovy，是时候认识一下它了</title><link>https://shenxianpeng.github.io/posts/2022/groovy/</link><pubDate>Sun, 06 Mar 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/groovy/</guid><description>Groovy 是一种强大的动态语言，适用于 Java 平台，本文介绍了 Groovy 的特性、与 Java 的区别以及在 Jenkins 中的应用场景。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/groovy/featured.png"/></item><item><title>已解决 - The Pip Inspector tree parse failed to produce output</title><link>https://shenxianpeng.github.io/posts/2022/blackduck-troubleshooting/</link><pubDate>Wed, 02 Mar 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/blackduck-troubleshooting/</guid><description>本文介绍在 Black Duck Detect 中出现 &amp;ldquo;The Pip Inspector tree parse failed to produce output&amp;rdquo; 错误的原因分析及解决方法。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/blackduck-troubleshooting/featured.png"/></item><item><title>2022 年最值得关注的 DevOps 趋势和问答</title><link>https://shenxianpeng.github.io/posts/2022/devops-trends-2022/</link><pubDate>Thu, 24 Feb 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/devops-trends-2022/</guid><description>本文介绍了2022年DevOps领域的主要趋势，包括无服务器计算、微服务架构、Kubernetes的普及以及DevSecOps的兴起，并回答了一些关于DevOps行业的问题。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/devops-trends-2022/featured.png"/></item><item><title>从QA到DEV到DEVOPS，码字五年有哪些收获</title><link>https://shenxianpeng.github.io/misc/from-qa-to-dev-to-devops/</link><pubDate>Mon, 21 Feb 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/from-qa-to-dev-to-devops/</guid><description>从软件测试到开发再到DevOps，码字五年有哪些收获？分享我的职业发展和写作经验。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/from-qa-to-dev-to-devops/featured.png"/></item><item><title>Vagrant 和 Docker 的区别，该如何选？</title><link>https://shenxianpeng.github.io/posts/2022/vagrant-vs-docker/</link><pubDate>Mon, 14 Feb 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/vagrant-vs-docker/</guid><description>本文介绍了 Vagrant 和 Docker 的区别，分析了它们各自的使用场景和优势，帮助读者选择合适的工具来管理虚拟机或容器。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/vagrant-vs-docker/featured.png"/></item><item><title>什么是 Vagrant? Vagrant 和 VirtualBox 的区别</title><link>https://shenxianpeng.github.io/posts/2022/vagrant/</link><pubDate>Fri, 11 Feb 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/vagrant/</guid><description>本文介绍了 Vagrant 的概念、发展历史以及如何使用 Vagrant 创建和管理虚拟机，强调了 Vagrant 相比传统虚拟机的优势。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/vagrant/featured.png"/></item><item><title>什么是 Go ？Go 的优势和现状。初学者应该学习 Python 还是 Go？</title><link>https://shenxianpeng.github.io/posts/2022/what-is-go/</link><pubDate>Tue, 18 Jan 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/what-is-go/</guid><description>本文介绍了 Go 语言的基本概念、优势、排名以及初学者应该如何选择学习 Python 还是 Go，提供了实用的学习建议和资源。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/what-is-go/featured.png"/></item><item><title>你一定要了解这 17 条 Docker 最佳实践！</title><link>https://shenxianpeng.github.io/posts/2022/docker-best-practice/</link><pubDate>Wed, 12 Jan 2022 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2022/docker-best-practice/</guid><description>本文分享了在编写 Dockerfiles 和使用 Docker 时应遵循的一些最佳实践，包括多阶段构建、镜像优化、安全性等方面的建议。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2022/docker-best-practice/featured.png"/></item><item><title>2022年序员如何选择显示器？1080p还是2K? 单屏还是多屏？</title><link>https://shenxianpeng.github.io/posts/2021/choose-monitor/</link><pubDate>Tue, 21 Dec 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/choose-monitor/</guid><description>本文分享了个人在选择显示器时的经验和建议，包括不同尺寸、分辨率和屏幕组合的优缺点，以及如何根据工作需求选择最合适的显示器。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/choose-monitor/featured.png"/></item><item><title>组织内如何评估 CI/CD 成熟度</title><link>https://shenxianpeng.github.io/posts/2021/cicd-assessment/</link><pubDate>Tue, 07 Dec 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/cicd-assessment/</guid><description>本文介绍了如何使用 Jenkins 的 generic-webhook-trigger 插件来实时获取 Bitbucket 仓库的事件信息，如 Pull Request ID 等。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/cicd-assessment/featured.png"/></item><item><title>GitHub Actions 还能这么玩？自动将发布的博客文章更新到 GitHub 个人主页</title><link>https://shenxianpeng.github.io/posts/2021/github-special-repository/</link><pubDate>Tue, 09 Nov 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/github-special-repository/</guid><description>本文介绍了如何使用 GitHub Actions 自动将发布的博客文章更新到 GitHub 个人主页，提升个人主页的动态性和可读性。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/github-special-repository/featured.png"/></item><item><title>2021-22 世界质量报告（World Quality Report）</title><link>https://shenxianpeng.github.io/posts/2021/world-quality-report/</link><pubDate>Sat, 06 Nov 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/world-quality-report/</guid><description>本文介绍了 2021-22 世界质量报告（WQR）的主要发现和趋势，强调了新冠疫情对软件质量和测试的影响，以及 QA 在敏捷和 DevOps 中的重要作用。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/world-quality-report/featured.png"/></item><item><title>Polaris - 静态代码分析</title><link>https://shenxianpeng.github.io/posts/2021/what-is-polaris/</link><pubDate>Sun, 24 Oct 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/what-is-polaris/</guid><description>这篇文章介绍了 Polaris 的基本概念、支持的编程语言、SaaS 平台的使用方法，以及如何配置和运行 Polaris 进行静态代码分析。它还提供了示例 YAML 配置文件和分析结果的查看方式。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/what-is-polaris/featured.png"/></item><item><title>Git 常用命令备忘录</title><link>https://shenxianpeng.github.io/posts/2021/git-cheatsheet/</link><pubDate>Sat, 23 Oct 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/git-cheatsheet/</guid><description>本文总结了 Git 的常用命令和技巧，帮助开发者快速查找和使用 Git 命令，提高工作效率。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/git-cheatsheet/featured.png"/></item><item><title>SonarQube Community Edition 如何集成到项目中</title><link>https://shenxianpeng.github.io/posts/2021/sonarqube-integration/</link><pubDate>Sat, 18 Sep 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/sonarqube-integration/</guid><description>本文介绍如何将 SonarQube Community Edition 集成到 Maven、Gradle 及其他类型项目中，包括必要的配置和 Jenkins 流水线示例。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/sonarqube-integration/featured.png"/></item><item><title>运行 lcov 报错 "Can't locate JSON/PP.pm in @INC ..."</title><link>https://shenxianpeng.github.io/posts/2021/lcov-error/</link><pubDate>Tue, 07 Sep 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/lcov-error/</guid><description>本文介绍在运行 lcov 生成代码覆盖率报告时遇到 &amp;ldquo;Can&amp;rsquo;t locate JSON/PP.pm in @INC &amp;hellip;&amp;rdquo; 等 Perl 模块缺失错误的解决方法，包括安装缺失的 Perl 模块。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/lcov-error/featured.png"/></item><item><title>使用 Gcov 和 LCOV 做 C/C++ 项目的代码覆盖率</title><link>https://shenxianpeng.github.io/posts/2021/gcov-example/</link><pubDate>Tue, 17 Aug 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/gcov-example/</guid><description>本文介绍了如何使用 Gcov 和 LCOV 对 C/C++ 项目进行代码覆盖率的度量，包括编译、运行和生成报告的步骤。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/gcov-example/featured.png"/></item><item><title>SonarQube 安装与常见问题排查</title><link>https://shenxianpeng.github.io/posts/2021/sonarqube-setup/</link><pubDate>Thu, 05 Aug 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/sonarqube-setup/</guid><description>本文记录了 SonarQube 的安装步骤，包括 LDAP 配置与 PostgreSQL 数据库设置，并附带一些常见问题的排查方法。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/sonarqube-setup/featured.png"/></item><item><title>修复 "hidden symbol `__gcov_init' in ../libgcov.a(_gcov.o) is referenced by DSO" 错误</title><link>https://shenxianpeng.github.io/posts/2021/how-to-fix-gcov-hidden-symbol/</link><pubDate>Tue, 27 Jul 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/how-to-fix-gcov-hidden-symbol/</guid><description>本文介绍在使用 Gcov 编译项目进行代码覆盖率统计时，出现 &amp;ldquo;hidden symbol `__gcov_init&amp;rsquo;&amp;hellip;&amp;rdquo; 等错误的原因及解决方法，包括如何在构建时确保符号不被隐藏。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/how-to-fix-gcov-hidden-symbol/featured.png"/></item><item><title>使用 REST API 添加或更新 Bitbucket 构建状态</title><link>https://shenxianpeng.github.io/posts/2021/bitbucket-update-build-status/</link><pubDate>Sun, 25 Jul 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/bitbucket-update-build-status/</guid><description>本文介绍如何通过 Bitbucket REST API 为指定提交添加或更新构建状态，并给出 Shell 脚本示例，适用于手动修复或补充构建状态的场景。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/bitbucket-update-build-status/featured.png"/></item><item><title>关于代码覆盖率 (About Code Coverage)</title><link>https://shenxianpeng.github.io/posts/2021/code-coverage/</link><pubDate>Wed, 14 Jul 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/code-coverage/</guid><description>本文简要介绍了代码覆盖率的概念、重要性、常见指标、工作原理以及主流工具，强调了不要过度依赖代码覆盖率指标。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/code-coverage/featured.png"/></item><item><title>Jenkins 作业超时后让构建失败的方法（已解决）</title><link>https://shenxianpeng.github.io/posts/2021/jenkins-timeout/</link><pubDate>Thu, 24 Jun 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/jenkins-timeout/</guid><description>本文介绍如何在 Jenkins 流水线中正确处理超时场景，通过 &lt;code&gt;try&lt;/code&gt; 和 &lt;code&gt;catch&lt;/code&gt; 结合 &lt;code&gt;error&lt;/code&gt; 确保超时后作业会失败。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/jenkins-timeout/featured.png"/></item><item><title>解决在 AIX 上 Git Clone 失败的两个问题</title><link>https://shenxianpeng.github.io/posts/2021/git-clone-failed-on-aix/</link><pubDate>Sun, 20 Jun 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/git-clone-failed-on-aix/</guid><description>本文记录了在 AIX 上使用 Jenkins 进行 Git Clone 时遇到的两个问题及其解决方法，包括依赖库加载失败和 SSH 认证失败。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/git-clone-failed-on-aix/featured.png"/></item><item><title>通过解除文件资源限制：解决在 AIX 使用 Git 下载大容量仓库失败问题</title><link>https://shenxianpeng.github.io/posts/2021/aix-ulimit/</link><pubDate>Thu, 17 Jun 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/aix-ulimit/</guid><description>在 AIX 系统中遇到 Git 下载大容量仓库时因文件大小限制导致失败，通过修改 ulimit 设置解决问题。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/aix-ulimit/featured.png"/></item><item><title>关于 Artifactory 上传制品变得非常缓慢，偶尔失败的问题分享</title><link>https://shenxianpeng.github.io/posts/2021/artifactory-slow-upload/</link><pubDate>Wed, 16 Jun 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/artifactory-slow-upload/</guid><description>在使用 JFrog Artifactory 上传制品时遇到速度缓慢和上传失败的问题，经过排查和解决，分享经验和教训。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/artifactory-slow-upload/featured.png"/></item><item><title>解决 ESlint HTML 报告在 Jenkins 作业中无法正常显示的问题</title><link>https://shenxianpeng.github.io/posts/2021/jenkins-eslint/</link><pubDate>Mon, 07 Jun 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/jenkins-eslint/</guid><description>本文记录了 ESlint HTML 报告在 Jenkins 中因内容安全策略（CSP）限制而无法正确显示的问题，并介绍了如何通过修改 Jenkins 配置使报告正常加载。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/jenkins-eslint/featured.png"/></item><item><title>Git 常见设置指北</title><link>https://shenxianpeng.github.io/posts/2021/git-guidelines/</link><pubDate>Fri, 14 May 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/git-guidelines/</guid><description>本文介绍了在使用 Git 提交代码之前需要进行的一些常见设置，包括配置用户名和邮箱、处理换行符、编写规范的提交信息等，帮助开发者更好地管理代码版本。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/git-guidelines/featured.png"/></item><item><title>当 Artifactory “Download Folder 功能被禁用”时如何下载整个文件夹的制品</title><link>https://shenxianpeng.github.io/posts/2021/artifactory-api-search/</link><pubDate>Tue, 04 May 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/artifactory-api-search/</guid><description>本文介绍了在 JFrog Artifactory 禁用“Download Folder”功能时，如何使用 Artifactory REST API 来批量下载整个文件夹的制品，并提供了基于 Shell 脚本的示例实现。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/artifactory-api-search/featured.png"/></item><item><title>为什么 Windows Installer 会弹出窗口？（已解决）</title><link>https://shenxianpeng.github.io/posts/2021/why-windows-installer-pop-up/</link><pubDate>Thu, 22 Apr 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/why-windows-installer-pop-up/</guid><description>本文解释了一个常见的 Windows 安装程序问题：安装时意外弹出窗口的原因，以及通过修正构建文件夹命名规则来解决该问题的方法。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/why-windows-installer-pop-up/featured.png"/></item><item><title>JaCoCo 代码覆盖率实践分享</title><link>https://shenxianpeng.github.io/posts/2021/jacoco-imp/</link><pubDate>Tue, 06 Apr 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/jacoco-imp/</guid><description>本文介绍了 JaCoCo 的使用方法，包括 Gradle 配置、执行测试生成报告、报告参数说明以及如何忽略指定的包或类影响测试覆盖率结果。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/jacoco-imp/featured.png"/></item><item><title>你的 Python 代码够不够 Pythonic？</title><link>https://shenxianpeng.github.io/posts/2021/pythonic/</link><pubDate>Sun, 28 Mar 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/pythonic/</guid><description>本文介绍了 Pythonic 的概念，并通过示例展示如何编写更简洁、优美的 Python 代码，帮助开发者提升代码质量和可读性。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/pythonic/featured.png"/></item><item><title>在 Jenkins 中为不同分支设置不同的默认参数</title><link>https://shenxianpeng.github.io/posts/2021/jenkins-dynamic-default-parameters/</link><pubDate>Wed, 24 Mar 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/jenkins-dynamic-default-parameters/</guid><description>本文介绍如何在 Jenkins 多分支流水线中，根据构建分支动态设置不同的默认参数，从而实现分支差异化配置。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/jenkins-dynamic-default-parameters/featured.png"/></item><item><title>基于谷歌代码审查（Code Review）法则的思考与实践</title><link>https://shenxianpeng.github.io/posts/2021/code-review/</link><pubDate>Sat, 20 Mar 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/code-review/</guid><description>本文介绍了谷歌的代码审查法则，并分享了如何在团队中有效实施代码审查的实践经验，包括流程控制和自动化检查等方面。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/code-review/featured.png"/></item><item><title>Jenkins 升级后 Windows Agent 无法启动的解决方法</title><link>https://shenxianpeng.github.io/posts/2021/jenkins-windows-agent-cannot-start/</link><pubDate>Thu, 11 Feb 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/jenkins-windows-agent-cannot-start/</guid><description>本文介绍 Jenkins 升级后 Windows Agent 无法启动的问题，以及通过更新 Windows Slaves 插件和修改配置文件来解决的步骤。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/jenkins-windows-agent-cannot-start/featured.png"/></item><item><title>2021年DevOps工程师的学习路线</title><link>https://shenxianpeng.github.io/posts/2021/devops-roadmap-2021/</link><pubDate>Thu, 21 Jan 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/devops-roadmap-2021/</guid><description>本文介绍了成为DevOps工程师所需的技能和工具，涵盖软件开发、操作系统、网络安全、容器化、持续集成与部署等方面的知识。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/devops-roadmap-2021/featured.png"/></item><item><title>预测 2021 年的 DevOps 趋势</title><link>https://shenxianpeng.github.io/posts/2021/devops-trends-2021/</link><pubDate>Thu, 21 Jan 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/devops-trends-2021/</guid><description>本文介绍了 2021 年 DevOps 领域的主要趋势，包括微服务架构、无服务器计算、Kubernetes 的普及以及 DevSecOps 的兴起。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/devops-trends-2021/featured.png"/></item><item><title>Jenkins 中 `result` 与 `currentResult` 的区别</title><link>https://shenxianpeng.github.io/posts/2021/jenkinsresult-vs-currentresult/</link><pubDate>Thu, 14 Jan 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/jenkinsresult-vs-currentresult/</guid><description>本文解释了 Jenkins Pipeline 中 &lt;code&gt;result&lt;/code&gt; 与 &lt;code&gt;currentResult&lt;/code&gt; 的区别，并通过 Declarative Pipeline 与 Scripted Pipeline 示例展示它们在不同阶段的表现。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/jenkinsresult-vs-currentresult/featured.png"/></item><item><title>建议在 Bitbucket/GitHub 中启用的仓库设置</title><link>https://shenxianpeng.github.io/posts/2021/git-repository-settings/</link><pubDate>Tue, 12 Jan 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/git-repository-settings/</guid><description>列出 Bitbucket 和 GitHub 仓库推荐启用的设置，包括禁止强制推送、分支保护、标签管理、合并检查以及提交信息规范等。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/git-repository-settings/featured.png"/></item><item><title>在 Windows 上开启 22 端口并让其处于监听状态</title><link>https://shenxianpeng.github.io/posts/2021/how-to-open-port-22/</link><pubDate>Tue, 12 Jan 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/how-to-open-port-22/</guid><description>本文介绍如何在 Windows 上开启 22 端口并确保其处于监听状态，以便支持 SSH 连接。内容包括安装 OpenSSH 以及防火墙配置步骤。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/how-to-open-port-22/featured.png"/></item><item><title>启用与禁用 Git sparse-checkout</title><link>https://shenxianpeng.github.io/posts/2021/git-sparse-checkout/</link><pubDate>Mon, 11 Jan 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/git-sparse-checkout/</guid><description>介绍如何启用与禁用 Git sparse-checkout，包括配置只检出指定目录的示例，以及如何恢复到完整检出状态。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/git-sparse-checkout/featured.png"/></item><item><title>解决 Code Sign 默认时间戳服务器 http://timestamp.verisign.com/scripts/timstamp.dll 不可用</title><link>https://shenxianpeng.github.io/posts/2021/verisign-server-not-working/</link><pubDate>Wed, 06 Jan 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/verisign-server-not-working/</guid><description>本文介绍了如何解决 Verisign 时间戳服务器不可用的问题，提供了替代的时间戳服务器地址，帮助开发者顺利完成代码签名。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/verisign-server-not-working/featured.png"/></item><item><title>2021 年国外 IT 公司对于 DevOps 工程师的要求有哪些？</title><link>https://shenxianpeng.github.io/posts/2021/devops-job-requirement/</link><pubDate>Sun, 03 Jan 2021 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2021/devops-job-requirement/</guid><description>了解国外 IT 公司对 DevOps 工程师的技能要求，帮助你在 2021 年树立学习方向，获取理想岗位。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2021/devops-job-requirement/featured.png"/></item><item><title>2020 年终总结</title><link>https://shenxianpeng.github.io/misc/2020-summary/</link><pubDate>Thu, 31 Dec 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/2020-summary/</guid><description>&lt;p&gt;时间飞快，马上就迎来了 2021 年，又到了总结自己这一年来的所有的经历和收获的时候了。&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/2020-summary/featured.png"/></item><item><title>备份 Jenkins 的方法</title><link>https://shenxianpeng.github.io/posts/2020/jenkins-backup/</link><pubDate>Tue, 24 Nov 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/jenkins-backup/</guid><description>介绍如何使用 ThinBackup 插件或 Shell 脚本备份 Jenkins，确保 Jenkins 配置和构建数据安全存储。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/jenkins-backup/featured.png"/></item><item><title>JaCoCo 实现原理 (JaCoCo Implementation Design)</title><link>https://shenxianpeng.github.io/posts/2020/jacoco/</link><pubDate>Tue, 17 Nov 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/jacoco/</guid><description>介绍 JaCoCo 的实现设计，包括覆盖率分析机制、Java 版本要求、字节码操纵、内存使用等方面的内容。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/jacoco/featured.png"/></item><item><title>Ansible 实践</title><link>https://shenxianpeng.github.io/posts/2020/ansible-practice/</link><pubDate>Wed, 28 Oct 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/ansible-practice/</guid><description>通过 Ansible 实践，探索如何高效管理和监控多种操作系统的虚拟机。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/ansible-practice/featured.png"/></item><item><title>写给那些想使用 JFrog Artifactory 管理制品的人</title><link>https://shenxianpeng.github.io/posts/2020/what-is-artifactory/</link><pubDate>Sun, 04 Oct 2020 20:43:46 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/what-is-artifactory/</guid><description>本文介绍了 JFrog Artifactory 的概念、优势、工作原理以及最佳实践，帮助读者了解如何使用 Artifactory 管理软件制品。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/what-is-artifactory/featured.png"/></item><item><title>程序员自我修养之Git提交信息和分支创建规范</title><link>https://shenxianpeng.github.io/posts/2020/commit-messages-specification/</link><pubDate>Thu, 24 Sep 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/commit-messages-specification/</guid><description>本文介绍了如何制定和实施 Git 提交信息和分支创建规范，以提高代码质量和团队协作效率。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/commit-messages-specification/featured.png"/></item><item><title>在 GitHub 上发布一个 Python 项目需要注意哪些</title><link>https://shenxianpeng.github.io/posts/2020/how-to-release-python-project/</link><pubDate>Sun, 13 Sep 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/how-to-release-python-project/</guid><description>本文介绍个人或企业在 GitHub 上发布一个 Python 项目需要了解和注意的内容，包括项目结构、依赖管理、版本控制等方面的建议。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/how-to-release-python-project/featured.png"/></item><item><title>关于 Python pip install 与版本管理</title><link>https://shenxianpeng.github.io/posts/2020/pip-install-and-versioning/</link><pubDate>Sun, 30 Aug 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/pip-install-and-versioning/</guid><description>解释 pip install 在不同版本号场景下的行为，包括如何处理 beta 版本，以及在指定版本号时使用 &lt;code&gt;--upgrade&lt;/code&gt; 的影响。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/pip-install-and-versioning/featured.png"/></item><item><title>使用 REST API 更新 Jira Server 账号头像</title><link>https://shenxianpeng.github.io/posts/2020/jira-update-account-avatar-with-rest-api/</link><pubDate>Mon, 17 Aug 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/jira-update-account-avatar-with-rest-api/</guid><description>介绍如何通过 Jira REST API 更新 Jira Server 账号的头像，并提供 Python 和 Postman 示例。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/jira-update-account-avatar-with-rest-api/featured.png"/></item><item><title>解决 “Remote session was disconnected because there are no Remote Desktop client access licenses available”</title><link>https://shenxianpeng.github.io/posts/2020/rdp-problem/</link><pubDate>Mon, 10 Aug 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/rdp-problem/</guid><description>修复 Windows Server 2012 R2 上的 RDP 连接问题，错误提示为没有可用的远程桌面客户端访问许可证。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/rdp-problem/featured.png"/></item><item><title>Daily Notes</title><link>https://shenxianpeng.github.io/misc/daily/</link><pubDate>Fri, 07 Aug 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/daily/</guid><description>This is only supporting English, not Chinese.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/daily/featured.png"/></item><item><title>通过 generic-webhook-trigger 插件实时获取 Bitbucket Repository Events</title><link>https://shenxianpeng.github.io/posts/2020/bitbucket-pull-request-event/</link><pubDate>Fri, 07 Aug 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/bitbucket-pull-request-event/</guid><description>本文介绍如何使用 Jenkins 的 generic-webhook-trigger 插件来实时获取 Bitbucket 仓库的事件信息，如 Pull Request ID 等。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/bitbucket-pull-request-event/featured.png"/></item><item><title>Jenkins 执行 Shell 如果返回值不为0，作业(Job)停止并失败怎么办？</title><link>https://shenxianpeng.github.io/posts/2020/jenkins-tips-3/</link><pubDate>Wed, 22 Jul 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/jenkins-tips-3/</guid><description>如何在 Jenkins Pipeline 中处理 Shell 返回值不为0的情况，以确保作业(Job)在执行成功后仍然显示为成功状态。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/jenkins-tips-3/featured.png"/></item><item><title>解决 “.NET Framework 2.0 or later is required on this computer to run a Jenkins agent as a Windows service” 问题</title><link>https://shenxianpeng.github.io/posts/2020/jenkins-windows-agent-connect-problem/</link><pubDate>Thu, 16 Jul 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/jenkins-windows-agent-connect-problem/</guid><description>当 Jenkins Windows Agent 因缺少 .NET Framework 无法连接时，通过安装 .NET Framework 3.5 并设置 Jenkins Agent 服务来解决问题。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/jenkins-windows-agent-connect-problem/featured.png"/></item><item><title>每个 Jenkins 用户都应该知道这三个最佳实践</title><link>https://shenxianpeng.github.io/posts/2020/jenkins-best-practice/</link><pubDate>Mon, 06 Jul 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/jenkins-best-practice/</guid><description>本文介绍了 Jenkins 的三个最佳实践：配置即代码、Jenkins 共享库和多分支流水线，帮助用户提升 Jenkins 的使用效率和质量。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/jenkins-best-practice/featured.png"/></item><item><title>将 Jenkins Shell 返回的字符串处理为字符数组</title><link>https://shenxianpeng.github.io/posts/2020/jenkins-tips-2/</link><pubDate>Mon, 22 Jun 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/jenkins-tips-2/</guid><description>如何在 Jenkins Pipeline 中将 Shell 返回的字符串处理为字符数组，以便在后续步骤中进行处理和使用。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/jenkins-tips-2/featured.png"/></item><item><title>忽略 Jenkins Shell 步骤中的故障</title><link>https://shenxianpeng.github.io/posts/2020/jenkins-tips-1/</link><pubDate>Sun, 21 Jun 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/jenkins-tips-1/</guid><description>如何在 Jenkins 中使用 &lt;code&gt;set +e&lt;/code&gt; 和 &lt;code&gt;set -e&lt;/code&gt; 来控制 Shell 脚本的执行行为，以便在出现错误时不终止整个构建流程。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/jenkins-tips-1/featured.png"/></item><item><title>这也能用Jenkins？快速实现一个定期批量登录远程虚拟机并支持添加新的主机名称的Job</title><link>https://shenxianpeng.github.io/posts/2020/vm-status-check-via-jenkins/</link><pubDate>Sat, 13 Jun 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/vm-status-check-via-jenkins/</guid><description>本文介绍了如何使用 Jenkins 实现定期批量登录远程虚拟机，并支持用户添加新的主机名称，提供了完整的实现代码和步骤。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/vm-status-check-via-jenkins/featured.png"/></item><item><title>解决 Jenkins Artifactory Plugin 仅在 AIX 上传制品到 https 协议的 Artifactory 失败的问题</title><link>https://shenxianpeng.github.io/posts/2020/java-net-socketexception-on-aix/</link><pubDate>Wed, 03 Jun 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/java-net-socketexception-on-aix/</guid><description>本文介绍了在 AIX 上使用 Jenkins Artifactory 插件上传制品到 https 协议的 Artifactory 失败的问题及其解决方法，包括设置环境变量和调整 Java 系统属性。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/java-net-socketexception-on-aix/featured.png"/></item><item><title>从 “会写程序的干不过会写PPT的” —— 聊程序员写作</title><link>https://shenxianpeng.github.io/posts/2020/programmers-read-and-write/</link><pubDate>Sat, 30 May 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/programmers-read-and-write/</guid><description>本文探讨了程序员写作的重要性，强调了写作和表达能力在职业发展中的作用，并分享了个人在写作方面的经验和体会。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/programmers-read-and-write/featured.png"/></item><item><title>如何确保在提交 Jenkins Pipeline 前没有语法错误</title><link>https://shenxianpeng.github.io/posts/2020/jenkins-pipeline-linter-connector/</link><pubDate>Sat, 23 May 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/jenkins-pipeline-linter-connector/</guid><description>本文介绍了两种方法来确保在提交 Jenkins Pipeline 前没有语法错误：使用 REST API 进行语法校验和使用 VSCode 插件进行语法检查。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/jenkins-pipeline-linter-connector/featured.png"/></item><item><title>使用 JMeter 进行性能测试</title><link>https://shenxianpeng.github.io/posts/2020/jmeter-performance-testing/</link><pubDate>Sat, 09 May 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/jmeter-performance-testing/</guid><description>介绍如何使用 JMeter 进行性能测试，包括录制脚本、在 GUI 和非 GUI 模式下运行测试，以及在 Jenkins 中实现自动化测试。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/jmeter-performance-testing/featured.png"/></item><item><title>如何将 Bitbucket 仓库同步到 GitHub</title><link>https://shenxianpeng.github.io/posts/2020/sync-from-bitbucket-to-github/</link><pubDate>Tue, 05 May 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/sync-from-bitbucket-to-github/</guid><description>介绍如何通过 Jenkins 将 Bitbucket 仓库的 master 分支同步到 GitHub。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/sync-from-bitbucket-to-github/featured.png"/></item><item><title>Jenkins 与 Bitbucket Webhooks 的配置和使用</title><link>https://shenxianpeng.github.io/posts/2020/bitbucket-webhooks/</link><pubDate>Tue, 28 Apr 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/bitbucket-webhooks/</guid><description>本文介绍如何在 Jenkins 中配置 Bitbucket Webhooks，以便在创建 Pull Request 时自动触发 Jenkins 构建。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/bitbucket-webhooks/featured.png"/></item><item><title>三种方法解决 Jenkins 声明式流水线 Exception Method code too large !</title><link>https://shenxianpeng.github.io/posts/2020/jenkins-troubleshooting/</link><pubDate>Mon, 20 Apr 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/jenkins-troubleshooting/</guid><description>本文介绍了三种方法来解决 Jenkins 声明式流水线中出现的 &amp;ldquo;Method code too large&amp;rdquo; 异常，包括将步骤放到管道外的方法、从声明式迁移到脚本式管道以及使用 Shared Libraries。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/jenkins-troubleshooting/featured.png"/></item><item><title>2021 年务必知道的最好用的 14 款 CI/CD 工具</title><link>https://shenxianpeng.github.io/posts/2020/ci-cd-tools/</link><pubDate>Sun, 29 Mar 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/ci-cd-tools/</guid><description>本文列出了市场上最流行的 14 种 CI/CD 工具，包括 Jenkins、CircleCI、TeamCity 等，并介绍了它们的主要特性和使用场景。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/ci-cd-tools/featured.png"/></item><item><title>DevOps Top 30+ 面试问题</title><link>https://shenxianpeng.github.io/posts/2020/top-30-devops-interview-questions/</link><pubDate>Sun, 29 Mar 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/top-30-devops-interview-questions/</guid><description>本文列出了 DevOps 领域的 30 多个常见面试问题，涵盖 DevOps 基础知识、CI/CD、DevOps 工具和实践等方面，帮助求职者准备 DevOps 面试。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/top-30-devops-interview-questions/featured.png"/></item><item><title>如何给你的 Git 仓库“瘦身”</title><link>https://shenxianpeng.github.io/posts/2020/maintaining-git-repository/</link><pubDate>Sat, 21 Mar 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/maintaining-git-repository/</guid><description>如何从 Git 仓库中删除不需要的文件和历史记录，以减少仓库的大小，并提供了两种方法：使用 BFG Repo Cleaner 或 git filter-branch。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/maintaining-git-repository/featured.png"/></item><item><title>一款免费的 C/C++ 静态代码分析工具 Cppcheck 与 Jenkins 集成</title><link>https://shenxianpeng.github.io/posts/2020/cppcheck/</link><pubDate>Sun, 16 Feb 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/cppcheck/</guid><description>本文介绍了 Cppcheck 的安装、使用以及与 Jenkins 的集成方法，旨在提升 C/C++ 代码质量和静态分析能力。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/cppcheck/featured.png"/></item><item><title>HP-UX 安装工具以及一些使用总结</title><link>https://shenxianpeng.github.io/posts/2020/hpxu-tips/</link><pubDate>Wed, 05 Feb 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/hpxu-tips/</guid><description>本文介绍了在 HP-UX 系统上安装 Java 8、gzip 和 gunzip 的方法，以及如何解决 HP-UX 上使用 bash 时遇到的库依赖问题。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/hpxu-tips/featured.png"/></item><item><title>最有用的 Linux 命令行技巧</title><link>https://shenxianpeng.github.io/posts/2020/linux-tips/</link><pubDate>Wed, 05 Feb 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/linux-tips/</guid><description>本文介绍了一些最有用的 Linux 命令行技巧，以提高开发和运维的效率。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/linux-tips/featured.png"/></item><item><title>通过 Jenkins 定期自动给老板提供 Git 仓库的多维度代码分析报告</title><link>https://shenxianpeng.github.io/posts/2020/git-stats-jenkins/</link><pubDate>Tue, 21 Jan 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/git-stats-jenkins/</guid><description>本文介绍了如何使用 Jenkins 定期自动生成 Git 仓库的多维度代码分析报告，包括手动执行和定时执行的实现方式，帮助开发者和团队更好地了解代码质量和贡献情况。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/git-stats-jenkins/featured.png"/></item><item><title>AIX 上安装工具以及一些使用总结</title><link>https://shenxianpeng.github.io/posts/2020/aix-tips/</link><pubDate>Thu, 09 Jan 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/aix-tips/</guid><description>记录在使用 AIX 时所遇到的问题和解决办法，以备以后遇到同样问题不要再因为这些再浪费时间，希望也能帮助到你。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/aix-tips/featured.png"/></item><item><title>Solaris 安装工具以及一些使用总结</title><link>https://shenxianpeng.github.io/posts/2020/solaris-tips/</link><pubDate>Tue, 07 Jan 2020 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2020/solaris-tips/</guid><description>本文记录了在使用 Solaris 时遇到的问题和解决办法，包括安装工具、配置网络、安装软件包等，帮助用户更高效地使用 Solaris 系统。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2020/solaris-tips/featured.png"/></item><item><title>2019 年终总结</title><link>https://shenxianpeng.github.io/misc/2019-summary/</link><pubDate>Sat, 28 Dec 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/2019-summary/</guid><description>&lt;p&gt;时间过得飞快，转眼已经是 2020 年的第三天了，回顾 2019 年，我给自己的年终关键词是：尽力。&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/2019-summary/featured.png"/></item><item><title>Jenkins Warnings Next Generation 插件</title><link>https://shenxianpeng.github.io/posts/2019/jenkins-warnings-next-generation-plugin/</link><pubDate>Sat, 28 Dec 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/jenkins-warnings-next-generation-plugin/</guid><description>本文介绍了 Jenkins Warnings Next Generation 插件的功能和配置方法，包括如何收集编译器警告和静态分析工具报告的问题，并可视化结果。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/jenkins-warnings-next-generation-plugin/featured.png"/></item><item><title>Git 历史统计信息生成器</title><link>https://shenxianpeng.github.io/posts/2019/git-stats/</link><pubDate>Tue, 17 Dec 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/git-stats/</guid><description>GitStats，一个用 Python 编写的 Git 历史统计信息生成工具，能够生成详细的代码提交统计报告，帮助开发者分析项目活跃度和贡献者情况。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/git-stats/featured.png"/></item><item><title>Black Duck 与 Jenkins 集成</title><link>https://shenxianpeng.github.io/posts/2019/blackduck-interate-with-jenkins/</link><pubDate>Sun, 08 Dec 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/blackduck-interate-with-jenkins/</guid><description>本文介绍如何将 Black Duck 与 Jenkins 集成，实现对代码仓库的自动化安全扫描和漏洞检测。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/blackduck-interate-with-jenkins/featured.png"/></item><item><title>Docker 常用命令</title><link>https://shenxianpeng.github.io/posts/2019/docker-commands/</link><pubDate>Mon, 02 Dec 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/docker-commands/</guid><description>一个 Docker 常用命令小纸条，记录一些常用的 Docker 命令和操作，方便日常使用和参考。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/docker-commands/featured.png"/></item><item><title>Docker 版本概述</title><link>https://shenxianpeng.github.io/posts/2019/overview-of-docker-editions/</link><pubDate>Sun, 01 Dec 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/overview-of-docker-editions/</guid><description>概述 Docker 的不同版本，包括社区版、企业版和企业级解决方案，适用于不同规模和需求的用户。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/overview-of-docker-editions/featured.png"/></item><item><title>北京48小时：记一次参加 DevOps 训练营</title><link>https://shenxianpeng.github.io/misc/48h-in-beijing/</link><pubDate>Sun, 01 Dec 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/48h-in-beijing/</guid><description>记录我在北京参加 JFrog DevOps 训练营的经历，分享培训内容和个人感受，以及对未来工作的思考。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/48h-in-beijing/featured.png"/></item><item><title>定制一个 Docker 版 Jenkins 镜像</title><link>https://shenxianpeng.github.io/posts/2019/install-docker-jenkins/</link><pubDate>Sun, 01 Dec 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/install-docker-jenkins/</guid><description>如何定制一个 Docker 版 Jenkins 镜像，并将其备份到 Artifactory，便于在需要时快速恢复 Jenkins 环境。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/install-docker-jenkins/featured.png"/></item><item><title>Artifactory 与 Jenkins 集成</title><link>https://shenxianpeng.github.io/posts/2019/artifactory-integrate-with-jenkins/</link><pubDate>Sun, 17 Nov 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/artifactory-integrate-with-jenkins/</guid><description>本文介绍如何将 JFrog Artifactory 与 Jenkins 集成，实现持续集成和制品管理。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/artifactory-integrate-with-jenkins/featured.png"/></item><item><title>初识 JFrog Artifactory</title><link>https://shenxianpeng.github.io/posts/2019/artifactory-install-and-upgrade/</link><pubDate>Sun, 10 Nov 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/artifactory-install-and-upgrade/</guid><description>JFrog Artifactory 是一个强大的二进制存储库管理器，本文介绍其安装、升级和使用方法。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/artifactory-install-and-upgrade/featured.png"/></item><item><title>如何设置 NFS 共享以及在不同的平台 Windows/Linux/Unix 进行挂载</title><link>https://shenxianpeng.github.io/posts/2019/nfs/</link><pubDate>Tue, 10 Sep 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/nfs/</guid><description>本文介绍了如何设置 NFS 共享以及在不同平台（Windows/Linux/Unix）上进行挂载的步骤和命令。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/nfs/featured.png"/></item><item><title>解决 Could not read from remote repository 问题</title><link>https://shenxianpeng.github.io/posts/2019/could-not-read-from-remote-repository/</link><pubDate>Sun, 01 Sep 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/could-not-read-from-remote-repository/</guid><description>解决在使用 Git 克隆代码时遇到的 &amp;ldquo;Could not read from remote repository&amp;rdquo; 错误，分析原因并提供解决方案。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/could-not-read-from-remote-repository/featured.png"/></item><item><title>Git 提交合并（Squash）</title><link>https://shenxianpeng.github.io/posts/2019/git-commit-squash/</link><pubDate>Tue, 20 Aug 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/git-commit-squash/</guid><description>介绍如何将多个 Git 提交合并为一个提交，包括本地和已推送到远程的情况，分别使用交互式 rebase 和在 Bitbucket 中的合并策略。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/git-commit-squash/featured.png"/></item><item><title>如何通过 Jenkins 进行资源的锁定和释放</title><link>https://shenxianpeng.github.io/posts/2019/jenkins-lock-resource/</link><pubDate>Sat, 10 Aug 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/jenkins-lock-resource/</guid><description>本文介绍了如何使用 Jenkins 的 Lockable Resources 插件来管理和锁定资源，确保在多任务环境中资源的独占性和安全性。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/jenkins-lock-resource/featured.png"/></item><item><title>在大型企业里维护多分支流水线</title><link>https://shenxianpeng.github.io/posts/2019/jenkins-multi-branch-pipeline/</link><pubDate>Tue, 06 Aug 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/jenkins-multi-branch-pipeline/</guid><description>如果没有适当的解决方案，在大型企业可能难以创建和维护多分支流水线。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/jenkins-multi-branch-pipeline/featured.png"/></item><item><title>Git 分支策略</title><link>https://shenxianpeng.github.io/posts/2019/git-branching-strategy/</link><pubDate>Sun, 28 Jul 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/git-branching-strategy/</guid><description>介绍大型项目的 Git 分支策略，包括 master、develop、release 和 hotfix 分支的作用和使用方法，帮助团队更好地管理代码和版本发布。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/git-branching-strategy/featured.png"/></item><item><title>通过 Jenkins 来提交修改的代码 git push by Jenkins</title><link>https://shenxianpeng.github.io/posts/2019/git-push-by-jenkins/</link><pubDate>Mon, 22 Jul 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/git-push-by-jenkins/</guid><description>如何通过 Jenkins Pipeline 脚本来提交修改的代码到 Git 仓库，包括克隆仓库、修改代码和推送更改等步骤。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/git-push-by-jenkins/featured.png"/></item><item><title>在 Jenkins pipeline 中执行 sudo 的时候不需要输入密码</title><link>https://shenxianpeng.github.io/posts/2019/execute-sudo-without-password/</link><pubDate>Tue, 16 Jul 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/execute-sudo-without-password/</guid><description>本文介绍了如何在 Jenkins Pipeline 中执行 sudo 命令而无需输入密码，提供了具体的实现方法和示例代码。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/execute-sudo-without-password/featured.png"/></item><item><title>Git 管理</title><link>https://shenxianpeng.github.io/posts/2019/git-management/</link><pubDate>Sun, 07 Jul 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/git-management/</guid><description>本文介绍了 Git 的常见管理操作，包括分支管理、提交规范、代码审查等，帮助开发者更好地使用 Git 进行版本控制。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/git-management/featured.png"/></item><item><title>Hexo 添加 Disqus 留言功能</title><link>https://shenxianpeng.github.io/posts/2019/hexo-add-disqus/</link><pubDate>Sun, 07 Jul 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/hexo-add-disqus/</guid><description>在 Hexo 博客中集成 Disqus 评论系统，允许读者留言和互动。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/hexo-add-disqus/featured.png"/></item><item><title>Jenkinsfile example - 实现交互、clone 多个仓库以及 git push</title><link>https://shenxianpeng.github.io/posts/2019/jenkinsfile-example/</link><pubDate>Sun, 07 Jul 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/jenkinsfile-example/</guid><description>这个 Jenkinsfile 示例展示了如何在 Jenkins Pipeline 中实现交互式输入、克隆多个 Git 仓库，并在构建完成后将代码推送到远程仓库。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/jenkinsfile-example/featured.png"/></item><item><title>C/C++ 代码覆盖率工具</title><link>https://shenxianpeng.github.io/posts/2019/code-coverage-tools/</link><pubDate>Tue, 21 May 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/code-coverage-tools/</guid><description>代码覆盖率衡量自动化测试覆盖的代码行、语句或代码块的比例，是评估 QA 质量的重要指标。本文列出了常见的 C/C++ 代码覆盖率工具及其特性。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/code-coverage-tools/featured.png"/></item><item><title>代码覆盖率工具 Squish Coco 使用示例</title><link>https://shenxianpeng.github.io/posts/2019/squishcoco/</link><pubDate>Tue, 21 May 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/squishcoco/</guid><description>介绍代码覆盖率工具 Squish Coco，并展示在 Visual Studio C++ 项目中如何安装、配置、执行和查看覆盖率结果。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/squishcoco/featured.png"/></item><item><title>GitSCM clone code don't display branch</title><link>https://shenxianpeng.github.io/posts/2019/gitscm-clone-code-don-t-display-branch/</link><pubDate>Tue, 14 May 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/gitscm-clone-code-don-t-display-branch/</guid><description>如何在 Jenkins 中使用 GitSCM插件克隆代码时，确保正确显示分支信息，避免出现 HEAD detached 状态的问题。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/gitscm-clone-code-don-t-display-branch/featured.png"/></item><item><title>通过参数化上传文件到 FTP 服务器</title><link>https://shenxianpeng.github.io/posts/2019/upload-to-ftp-parameterization-by-bat/</link><pubDate>Mon, 13 May 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/upload-to-ftp-parameterization-by-bat/</guid><description>本文介绍了如何使用 Windows Batch 脚本通过参数化的方式上传文件到 FTP 服务器，避免在脚本中硬编码 FTP 凭据。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/upload-to-ftp-parameterization-by-bat/featured.png"/></item><item><title>Jenkins Linux Agent 配置</title><link>https://shenxianpeng.github.io/posts/2019/jenkins-linux-agent/</link><pubDate>Sun, 12 May 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/jenkins-linux-agent/</guid><description>本文提供了 Jenkins Linux Agent 的逐步配置指南，包括 Java 运行时的准备、节点创建以及常见问题的排查方法。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/jenkins-linux-agent/featured.png"/></item><item><title>Jenkins Windows Agent 配置</title><link>https://shenxianpeng.github.io/posts/2019/jenkins-windows-agent/</link><pubDate>Sun, 12 May 2019 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2019/jenkins-windows-agent/</guid><description>本文提供 Jenkins Windows Agent 的详细配置步骤，包括 Java 运行时准备、节点创建以及常见问题的排查方法。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2019/jenkins-windows-agent/featured.png"/></item><item><title>从测试转开发</title><link>https://shenxianpeng.github.io/misc/from-qa-to-dev/</link><pubDate>Wed, 26 Dec 2018 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/from-qa-to-dev/</guid><description>从测试转开发的五个月，工作、学习、生活的感悟和总结。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/from-qa-to-dev/featured.png"/></item><item><title>如何做好功能测试</title><link>https://shenxianpeng.github.io/posts/2018/how-to-do-functional-testing/</link><pubDate>Tue, 07 Aug 2018 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2018/how-to-do-functional-testing/</guid><description>介绍功能测试的基本流程、用例设计、项目控制、上线回归等方面的建议，帮助测试人员提升功能测试的质量和效率。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2018/how-to-do-functional-testing/featured.png"/></item><item><title>做了9年测试，我为何转开发？</title><link>https://shenxianpeng.github.io/posts/2018/why-i-move-to-development/</link><pubDate>Sat, 21 Jul 2018 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2018/why-i-move-to-development/</guid><description>本文记录了我从测试转为开发的经历和感悟，分享了在陪产假期间的学习和工作安排，包括阅读书籍、参与开源项目、体育锻炼等，强调了如何在照顾家庭的同时保持学习和成长。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2018/why-i-move-to-development/featured.png"/></item><item><title>Error: Permission denied (publickey)</title><link>https://shenxianpeng.github.io/posts/2018/permission-denied-publickey/</link><pubDate>Sun, 06 May 2018 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2018/permission-denied-publickey/</guid><description>本文介绍了如何在配置多个 SSH Git Key 时解决 &amp;ldquo;Permission denied (publickey)&amp;rdquo; 错误，确保 GitHub 和 Bitbucket 的 SSH 连接正常工作。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2018/permission-denied-publickey/featured.png"/></item><item><title>我眼中的高级测试工程师</title><link>https://shenxianpeng.github.io/posts/2018/senior-test-engineer/</link><pubDate>Sun, 06 May 2018 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2018/senior-test-engineer/</guid><description>本文介绍了高级测试工程师所需的技能和经验，包括测试理论、业务能力、工具使用、代码能力等方面，帮助读者了解如何成为一名优秀的高级测试工程师。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2018/senior-test-engineer/featured.png"/></item><item><title>DevOps 实践</title><link>https://shenxianpeng.github.io/posts/2018/devops-practice/</link><pubDate>Sat, 14 Apr 2018 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2018/devops-practice/</guid><description>本文介绍了 DevOps 实践的核心概念、目标和实施方法，强调了持续集成、持续交付和自动化的重要性。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2018/devops-practice/featured.png"/></item><item><title>Jenkinsfile 配置</title><link>https://shenxianpeng.github.io/posts/2018/jenkinsfile-configure/</link><pubDate>Sat, 14 Apr 2018 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2018/jenkinsfile-configure/</guid><description>本文介绍了如何使用 Jenkinsfile 配置 Jenkins Pipeline，包括构建、测试和发布阶段的示例，以及如何处理邮件通知。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2018/jenkinsfile-configure/featured.png"/></item><item><title>度过工作中挫折心结</title><link>https://shenxianpeng.github.io/misc/weather-setbacks-at-work/</link><pubDate>Thu, 23 Nov 2017 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/misc/weather-setbacks-at-work/</guid><description>工作中遇到挫折时，如何调整心态，专注于工作本身，而不是过度纠结于人际关系。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/misc/weather-setbacks-at-work/featured.png"/></item><item><title>修改 Hexo 主题代码高亮</title><link>https://shenxianpeng.github.io/posts/2017/change-hexo-code-highlight/</link><pubDate>Mon, 20 Nov 2017 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2017/change-hexo-code-highlight/</guid><description>Hexo 默认主题代码高亮是黑色的，如果想换个风格？本文介绍如何修改 Hexo 主题代码高亮样式。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2017/change-hexo-code-highlight/featured.png"/></item><item><title>Hexo 的配置和使用</title><link>https://shenxianpeng.github.io/posts/2017/hexo-practice/</link><pubDate>Wed, 25 Oct 2017 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/posts/2017/hexo-practice/</guid><description>本文介绍如何在 Hexo 博客中配置 RSS 订阅功能，包括安装插件和使用。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/posts/2017/hexo-practice/featured.png"/></item><item><title>沈显鹏的简历</title><link>https://shenxianpeng.github.io/hireme/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (沈显鹏)</author><guid>https://shenxianpeng.github.io/hireme/</guid><description>&lt;h2 class="relative group"&gt;个人简介
 &lt;div id="个人简介" class="anchor"&gt;&lt;/div&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DevOps / Build / Release / AI Engineering 工程师&lt;/strong&gt;，长期关注软件交付效率、开发者体验与工程自动化。&lt;/li&gt;
&lt;li&gt;自 2018 年起专注 DevOps，熟悉 Windows、Linux、AIX、Solaris、HP-UX 等操作系统及完整软件生命周期。&lt;/li&gt;
&lt;li&gt;在企业环境中推动 &lt;strong&gt;Agentic DevOps&lt;/strong&gt; 与 AI-assisted developer tooling 探索，将 AI agents、CI/CD、代码理解与任务执行能力结合到开发工作流中。&lt;/li&gt;
&lt;li&gt;擅长 &lt;strong&gt;Scan → Try → Scale&lt;/strong&gt; 方法，将行业最佳实践从小范围验证推广到团队和部门级落地。&lt;/li&gt;
&lt;li&gt;熟练使用 Python / Shell / Groovy 构建 DevOps 工具、自动化系统与 AI 辅助开发解决方案。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;开源作者与维护者&lt;/strong&gt;：创建并维护 &lt;a href="https://github.com/cpp-linter" target="_blank" rel="noreferrer"&gt;cpp-linter&lt;/a&gt;、&lt;a href="https://github.com/commit-check" target="_blank" rel="noreferrer"&gt;commit-check&lt;/a&gt;、&lt;a href="https://github.com/conventional-branch" target="_blank" rel="noreferrer"&gt;conventional-branch&lt;/a&gt;、&lt;a href="https://github.com/devops-maturity" target="_blank" rel="noreferrer"&gt;devops-maturity&lt;/a&gt; 等项目，并参与 Jenkins、MkDocs 生态相关开源维护。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;技术分享者&lt;/strong&gt;：在 &lt;a href="https://shenxianpeng.github.io" target="_blank" rel="noreferrer"&gt;博客&lt;/a&gt; 与公众号 &amp;ldquo;&lt;strong&gt;沈显鹏&lt;/strong&gt;&amp;rdquo; 发布数百篇原创文章，持续分享 DevOps、AI、CI/CD 与开源实践。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;

&lt;h2 class="relative group"&gt;工作经历
 &lt;div id="工作经历" class="anchor"&gt;&lt;/div&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;高级 DevOps 工程师&lt;/strong&gt; | Rocket Software, 立陶宛 | &lt;em&gt;2024.07 - 至今&lt;/em&gt;&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.github.io/hireme/featured.png"/></item></channel></rss>