最新的《2025年 DevOps 现状报告》显示,DevOps 技能已成为职场生存的刚需。40% 的企业将其列为“必须具备”,另有 43% 的企业近期将其列为必选项。相比于培训证书,雇主更看重实战经验。尽管 AIOps 和 DevSecOps 热度极高,但真正的落地仍处于起步阶段。
最近又接触到一个相关但更进一步的概念——Agentic DevOps。花时间阅读了微软 Azure 相关介绍、GitHub 的最新文档以及部分开源实践后,我整理了这篇笔记。目的是记录学习过程,也供同行参考。以下内容基于公开资料和我的理解,不涉及任何夸大预测。
Explain Error Plugin 迎来两个重要更新:支持自定义上下文信息和文件夹级别的 AI 提供商配置。这两个功能让插件在企业环境中的使用更加灵活和强大。
这里记录每周值得分享的技术内容,周五发布。本杂志开源,欢迎投稿。
这里记录每周值得分享的 DevOps 与 AI 技术内容,周五发布。本杂志开源,欢迎投稿。
这里记录每周值得分享的 DevOps 与 AI 技术内容,周五发布。本杂志开源,欢迎投稿。
最近收到一些用户反馈,我也第一时间对 Explain Error Plugin 做了增强,新增了两个非常实用的功能:支持指定语言输出解释内容和支持在 Pipeline 中获取返回值 AI 的返回值。
最近 Clawdbot 改名为 Moltbot,越来越多的人开始在家里部署这个 AI 助手。本文分享了 Moltbot 的特点、使用体验以及一些注意事项,帮助你更好地理解和使用这款工具。
在微服务、混合云和容器化部署横行的今天,IT 系统已变得异常复杂。当成千上万的告警信息涌入时,传统的运维模式很难。AIOps(智能运维),这个由人工智能驱动的变革,正成为 IT 运营管理的“救命稻草”。本文结合 IBM、ServiceNow、GitHub 和 Red Hat 的核心观点,带你透视 AIOps 的全貌。
这里记录每周值得分享的 DevOps 与 AI 技术内容,周五发布。本杂志开源,欢迎投稿。
这里记录每周值得分享的 DevOps 与 AI 技术内容,周五发布。本杂志开源,欢迎投稿。
本文通过基于事实的解释和比喻,详细解读了 GitHub 上的 AI 相关概念及其层级关系,帮助读者理清 Models、Agents、Spaces、Spark 等术语的含义和作用。
Backstage 是什么?它为什么在平台工程领域变得如此重要?分享一些对 Backstage 的认识和判断。
在 DevOps 世界里,工具一多,很多人都会混淆它们的职责。用汽车产业链类比,帮你一次性理解 Packer、Terraform、Ansible、Docker、Kubernetes 的定位和协作方式。
py-eol 是一个轻量的小工具,帮助你快速判断某个 Python 版本是否已过期或即将 EOL,适合本地使用,也能集成到 CI/CD 中,让项目在版本管理上更可靠。
作为一个开源项目维护者,我深知“安装依赖”的痛苦。为了让用户少敲两行命令,我花时间把 gnuplot 封装成了一个开箱即用的 Python 包——gnuplot-wheel。本文分享了这个小轮子的诞生故事和实用价值。
在软件开发中,布鲁克斯法则指出“向一个已经延期的软件项目增加人力,只会使它更加延期。”本文通过烤鸡和孕妇的比喻,深入探讨了这一现象背后的原因,并提供了实用的解决方案。
Jenkinsfile 本地检查神器,利用 API 校验,完美支持 pre-commit。
本文介绍了如何激活 InstallShield 许可证的步骤和注意事项,帮助用户顺利完成软件安装和使用。
经过一段时间的对比和尝试,我还是回到了 GitHub Copilot。本文分享我为何认为它是 2025 年最值得订阅的 AI 编程助手,以及实际使用体验。
在开源项目的 issue 里,你是否也曾留言“Any updates?”(有什么更新吗?)来询问进展?看似无害的一句话,实际上却可能让维护者感到烦躁和挫败。本文分享了一篇关于这个话题的文章,并提出了更友善的替代做法。
经过了断断续续一个月的开发和测试,我终于完成了这次重大更新。这也是 Commit Check 迎来了自诞生以来最大的一次更新。
本文介绍了 Jenkins Explain Error Plugin 的新功能,即支持 Ollama 本地模型,帮助用户更高效地分析和解决构建错误。
cpp-linter 相关的项目和工具官网上线了,地址是 https://cpp-linter.github.io/,欢迎大家访问和使用。
开源基础设施并非免费,自来水般的 pip/npm 安装背后是高昂的带宽、存储和运维成本。声明呼吁开发者与企业共同分担,优化工具、支持赞助,才能让我们习以为常的“免费”体验真正可持续。
12K+ 访问量、多语言翻译、全球开发者采用,Conventional Branch 规范的一周年之路
在欧洲工作一年多,我只加过一次班,这让我深刻体会到东西方工作文化的差异。
发现我的博客英文读者比中文还多?于是我用 GitHub Actions + Gemini API,把文章自动翻译成英文,省心又高效。
有人说开源没用,既赚不到钱,又浪费时间。但我在四年的坚持中,发现了 3 个意想不到的收获:让工作被真正看到、接触更优秀的人和项目、以及一份长期的价值积累。这些收获,其实每个开发者都能借鉴。
如何评估并提升团队的 DevOps 实践水平?我正式发布了开源项目 DevOps Maturity —— 提供评估工具与实践指南。基于业界模型 + 开源工具,几分钟即可快速测出团队的 DevOps 成熟度。
昨天在网上冲浪,突然看到了一个仓库叫 prek,一看介绍是 —— ⚡ Better pre-commit, re-engineered in Rust。这就引起了我的兴趣,毕竟 pre-commit 作为非常广泛的预提交的工具,如果能改进,尤其是性能方面的改进,肯定是好事。
本文记录了我在八年后对博客进行翻新的过程,从 Hexo 到 Hugo 的迁移,以及新博客的功能和设计改进。
本文介绍了 Jenkins Explain Error Plugin 的新功能,支持 Google Gemini 模型进行错误分析,并提供了配置方法和示例视频。
介绍我开发的第一个 Jenkins 插件:Explain Error Plugin。它可以自动解析构建失败的日志信息,并生成可读性强的错误解释,帮助开发者更快地定位和解决问题。
JFrog发布的《2025软件供应链现状报告》揭示了软件供应链的变化和风险,尤其是AI模型的安全问题。本文分享了报告中的关键发现和对DevOps从业者的启示。
如果你的 Shields.io 徽章(例如构建状态或文档状态)在 Jenkins 仪表盘中无法显示,很可能是因为 Jenkins 的严格内容安全策略(CSP)限制所致。本文将演示如何通过 Script Console 临时修复,以及如何通过修改 Jenkins 启动参数永久解决。该方法适用于内部 Jenkins 环境,并已在现代 Jenkins 安装中测试验证。
在 Bitbucket 中使用 Commit Message Templates 功能,将 PR 描述自动写入 Git commit message,确保关键信息不会随工具变更而丢失。
在 Jenkins 中,disableConcurrentBuilds 选项用于管理并发构建。本文介绍了如何根据分支类型动态设置 abortPrevious 的值,从而实现更灵活的构建管理。
在 DevOps 中,CI/CD 流水线需要持续维护和重构。本文探讨了为什么 CI/CD 不是一次性的建设项目,而是一个需要长期投入和持续演进的系统。
asdf-clang-tools 是一个 asdf 插件,用于安装和管理 Clang Tools 相关工具(如 clang-format、clang-tidy、clang-query 和 clang-apply-replacements 等)。
AI 的出现让很多人感到“虚”,但它不会取代我们的职位,而是改变我们的做事方式。本文分享了对 AI 的体会和每天一小步的坚持。
在企业中,Wiki 和 Confluence 等文档工具如果缺乏统一管理和审核机制,可能会导致信息混乱和知识沉淀失败。本文探讨了如何避免这种情况,并借鉴开源社区的成功经验。
uv 是一个由 Astral 团队开发的 Python 包管理工具,它能替代 pip、venv、pip-tools 的功能,提供更快的依赖解析速度和更现代的项目管理方式。
cpp-linter-action 是一个 GitHub Action,提供 C/C++ 代码的格式化和静态分析功能。它使用 clang-format 和 clang-tidy,支持多种配置和自定义规则。项目自 2021 年创建以来,已被多个知名组织和开源项目使用。
GitHub 的访问问题让很多程序员感到困扰,尤其是在国内。本文分享了个人的体验和对网络问题的思考。
在开源项目或团队协作中,Sphinx + ReadTheDocs 是一个易于维护、可自动部署的文档系统。本文记录了配置过程和注意事项。
Markdown 和 reStructuredText(RST)是两种常用的标记语言。本文对比了它们的优缺点,并分享了在不同场景下的使用建议。
Broadcom 收购 VMware 后,许多企业用户开始寻找替代方案。Nutanix 作为一个超融合基础设施(HCI)解决方案,提供了更低的成本和更简洁的管理界面,是一个不错的选择。
在 CPython 的 Issue 区找到一个合适的 PR,修改代码、测试、提交 Pull Request,第二天醒来发现已经被 Merge 到主分支了!这是一个很好的学习过程,也是对开源社区的贡献。
最近工作之余没怎么贡献代码,主要把时间都用在了评审 EuroPython 2025 (欧洲 Python 2025 大会)的提案上了。
gitstats 经过两个月的持续改进,现已支持 JSON 输出、代码重构、argparse 替换 getopt,并全面兼容 Windows 和 macOS。欢迎使用和 Star 支持!
本文介绍如何使用 Jenkins Docker Cloud 来构建和部署应用,包括配置 Docker 主机以及创建自定义 Docker 镜像。
CPython 停止更新 Copyright 的原因和过程。了解 Python 项目法律团队的建议,以及如何处理开源项目中的版权声明。
介绍 GitStats 项目的复活过程,包括迁移到 Python 3、创建现代化流水线、发布到 PyPI 和 Docker,以及未来的改进计划。
本文介绍了 pip 和 pipx 的区别,帮助开发者选择合适的工具来管理 Python 包和命令行工具。
介绍在 Windows Server 2022 上执行 Ansible playbook 时出现 PowerShell 无法识别的问题原因及解决方法。
本文介绍了作为 DevOps 工程师的日常工作节奏,从早上到晚上,涵盖工作准备、会议、代码管理、构建发布等环节。
本文介绍了在升级 Jenkins 的过程中所做的优化,包括使用 Docker Compose 部署、重构 Jenkins Shared Library、引入 Windows Docker Container 等,以提升 CI/CD 流程的效率和安全性。
本文介绍了首席DevOps工程师的职责、核心技能和对公司的价值,帮助你了解如何在DevOps领域实现职业发展。
本文介绍了约定式分支规范的中文版,旨在通过结构化的命名约定提高 Git 分支的可读性和可操作性。
本文介绍了 PyPA(Python Packaging Authority)下的知名项目,包括 pip、setuptools、wheel 等,并分析了它们之间的关系,帮助读者更好地理解 Python 包管理和分发的生态系统。
本文介绍了软件制品的来源证明,强调了在软件开发生命周期中保护代码转换为制品的流程的重要性,并介绍了 SLSA 项目和 Sigstore 的作用。
本文介绍了 GaraSign 代码签名工具的安装、使用和验证方法,帮助开发者实现安全的代码签名。
本文介绍了 Python 软件基金会 (PFS) 的基础设施,包括其服务、提供商和团队成员,帮助读者了解 PFS 如何支持 Python 社区。
本文介绍代码签名的概念、重要性以及两种常见的代码签名工具,强调代码签名在软件供应链安全中的作用。
本文介绍了 Hervé Le Meur 如何通过 Jenkins-X 社区的贡献,最终成为 Jenkins 基础设施团队的一名 SRE,并分享了他的经历和对 Jenkins 的看法。
本文介绍了在2024年DevOps工程师需要掌握的关键技能和能力,以应对裁员潮和人工智能的挑战,保持竞争力。
本文介绍了 GitHub Actions 的可重用工作流(Reusable Workflows)特性,帮助开发者和团队更高效地管理和复用 CI/CD 流程。
本文介绍了 GitHub 发布的 2023 年开源状况和人工智能的崛起报告,分析了开发者社区的增长、生成式 AI 的应用以及云原生技术的发展趋势。
本文介绍了 cpp-linter-action 的新功能:Pull Request Review,允许开发者直接在 GitHub 上提交代码修改建议,提升代码质量和协作效率。
本篇介绍的是大名鼎鼎的开源软件基金会 Apache 所使用的服务(Services)和工具(Tools),这或许能帮助你打开视野,在选择工具的时候提供参考。
本文将分享针对需要对 GitHub Release Notes 的内容按照标题进行自动分类的两种方式。
介绍如何在 Jenkins Pipeline 中使用 catchError 捕获特定错误,并在不中断整个构建的情况下更新阶段或构建结果,从而实现更灵活的错误处理。
本文介绍如何使用 SLSA 与 Witness 在 GitHub 与非 GitHub 项目中实现软件供应链安全,以提升软件开发与部署流程的安全性。
本文介绍了 Witness 的概念、工作原理以及如何使用 Witness 来生成和验证软件工件的来源,强调了其在提高软件供应链安全性方面的重要性。
本文介绍了如何在 Python 生态系统中使用 SLSA 框架来生成和验证 Python 工件的来源,从而提升软件供应链的安全性。
本文记录了从 IBM XLC 10.1 升级到 XLC 17.1(IBM Open XL C/C++ for AIX 17.1.0)过程中遇到的问题及解决方法,共涵盖 12 个错误的修复方案。
本文介绍了如何解决 Jenkins agent 上传 artifacts 到 Artifactory 时遇到的 SSL 证书验证问题,包括生成安全认证文件和导入到 Java 的 cacerts 中。
本文介绍了2023年DevOps领域的主要趋势,包括云原生技术的持续采用、加强安全性和合规性、开发与运营团队协作、自动化和人工智能的发展等。
本文介绍在 AIX 上通过 Jenkins 上传构件到 Artifactory 时遇到的 SSL 证书验证问题,包括更新 Java 的 cacerts 文件来解决问题。
本文记录了在创建 NuGet Organization 时遇到的问题和解决方法,特别是关于公司邮箱地址的使用。
本文介绍 Docker Buildx Bake 的概念、优势、使用场景以及如何使用该功能来加速构建和管理多平台镜像。
本文介绍了SBOM的定义、与SLSA和Black Duck的关系和区别、最佳实践以及可用的生成工具,帮助读者更好地理解和应用SBOM。
本文讨论了在开源项目中,作为项目成员是 Fork 原始仓库还是直接在原始仓库中修改代码的利弊,帮助开发者做出更合适的选择。
本文介绍如何使用 Commit Check 工具来验证 Git 提交信息、分支命名、提交用户名字、提交用户邮箱等是否符合规范。
本文介绍了 SLSA 框架的概念、目的、等级划分以及如何在软件供应链中应用 SLSA 来提升安全性,帮助读者理解 SLSA 在软件开发和部署中的重要性。
本文探讨如何在 DevOps 任务中使用 ChatGPT,包括自动化代码审查、测试、部署和文档生成等方面的应用。
本文介绍了 Jenkins pipeline 的一些最佳实践,旨在帮助开发者和运维人员优化 Jenkins 的性能和可维护性。
本文介绍如何在 Jenkins 多分支流水线中实现 [skip ci] 功能,根据提交信息跳过构建。
本文介绍如何通过配置 DNS 并确保修改持久化,来解决 WSL 中的 “Temporary failure in name resolution” 问题。
本文介绍如何通过修改 /etc/security/access.conf 文件,限制只有特定用户可以登录关键的 Linux 服务器。
本文介绍了 C/C++ 代码格式化和静态分析检查的工具和工作流,重点介绍了 clang-tools 的使用和集成方式。
本文介绍如何生成 GPG 密钥、导出公钥并将其添加到 GitHub,用于提交签名验证。
本文记录了我在陪产假期间的学习和工作安排,包括阅读书籍、参与开源项目、体育锻炼等,分享了如何在照顾家庭的同时保持学习和成长。
本文介绍了如何在 Windows 上使用 WSL、VS Code 和 Docker Desktop 进行开发,提供了安装和配置的详细步骤,以及使用这些工具的优势和体验。
本文介绍了 Docker、containerd、CRI、CRI-O、OCI 和 runc 等容器生态系统中的关键组件和标准,解释它们之间的关系以及如何协同工作。
本文介绍如何在 Jenkins 中启用和配置 LDAP 身份验证,以及在需要时临时禁用它的方法。
本文介绍了如何通过 GitHub Support 实现与父仓库的分离,避免删除和重建仓库带来的数据丢失问题,帮助开发者更好地管理 Fork 的仓库。
Groovy 是一种强大的动态语言,适用于 Java 平台,本文介绍了 Groovy 的特性、与 Java 的区别以及在 Jenkins 中的应用场景。
本文介绍在 Black Duck Detect 中出现 “The Pip Inspector tree parse failed to produce output” 错误的原因分析及解决方法。
本文介绍了2022年DevOps领域的主要趋势,包括无服务器计算、微服务架构、Kubernetes的普及以及DevSecOps的兴起,并回答了一些关于DevOps行业的问题。
本文介绍了 Vagrant 和 Docker 的区别,分析了它们各自的使用场景和优势,帮助读者选择合适的工具来管理虚拟机或容器。