<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Ci-Cd | The .NET Blog</title><link>https://thedotnetblog.com/zh/tags/ci-cd/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>zh</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Sat, 18 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/zh/tags/ci-cd/index.xml" rel="self" type="application/rss+xml"/><item><title>CI 中的 MCP 构建诊断是第一个能够快速自我回收价值的 AI 工作流</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/mcp-binlog-ci-build-diagnostics/</link><pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/mcp-binlog-ci-build-diagnostics/</guid><description>当 Binlog MCP 分析直接在拉取请求工作流中运行时，团队可以减少故障排查时间并更快地解除开发者阻塞。</description><content:encoded>&lt;p&gt;原文来源：&lt;a href="https://devblogs.microsoft.com/dotnet/mcp-build-diagnostics-workflows/"&gt;MCP Beyond the Chat Window: Build Diagnostics in CI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这是迄今为止最强大的实用 MCP 故事之一，因为它离开了聊天演示的世界，进入了管道的现实。&lt;/p&gt;
&lt;p&gt;展示的模式非常有说服力：PR 构建失败触发通过 MCP 对 binlog 进行智能体分析，然后工作流将可操作的根因上下文发回给 PR。这正是目前开发者时间经常被浪费的地方。&lt;/p&gt;
&lt;p&gt;大多数团队仍然通过昂贵的手动循环来处理失败的构建：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;下载 binlog&lt;/li&gt;
&lt;li&gt;打开查看器&lt;/li&gt;
&lt;li&gt;追踪失败的目标和任务&lt;/li&gt;
&lt;li&gt;将发现结果翻译给审查者&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;基于 MCP 的 binlog 工具压缩了这个循环，并使分析对每个贡献者都可及——而不仅仅是当值的构建专家。&lt;/p&gt;
&lt;p&gt;工作流中&amp;quot;仅咨询&amp;quot;的立场也是一个明智的架构选择。保持合并门控使用你现有的必需构建，并将智能体诊断用作加速而非权威。这既保留了信任，又捕获了生产力收益。&lt;/p&gt;
&lt;p&gt;扩大的工具面值得注意。目标推理、评估属性、分析器成本分解、关键路径图、恢复分析和增量行为检查——正是那种通过精确工具暴露时，语言模型能很好处理的结构化诊断。&lt;/p&gt;
&lt;p&gt;我的个人观点：&lt;strong&gt;这就是 AI 在工程中真正变成基础设施的地方&lt;/strong&gt;。如果一个能力能可靠地减少解释构建失败的平均时间，而不增加有风险的自主性，它就应该默认存在于 CI 中。&lt;/p&gt;
&lt;p&gt;评估数据加强了这一论点。与无工具基线相比，在显著更低的耗用时间和 token 使用量下取得更好的分数，表明生产力提升不是孤立的。&lt;/p&gt;
&lt;p&gt;面向 .NET 团队的实用推广计划：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;让 /bl 生成标准化&lt;/strong&gt;——在 CI 中用于相关的构建和测试作业。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;先在一个非关键仓库中引入 MCP 诊断评论&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;跟踪排查时间指标&lt;/strong&gt;和误报解释率。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;只有在证明评论质量和开发者接受度后才扩展&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一个注意事项：将工具能力视为版本化契约。服务器表面会演化，工作流可靠性取决于显式的兼容性检查。能力发现工具应成为你管道设置的一部分。&lt;/p&gt;
&lt;p&gt;如果你的组织一直在软件交付中寻找一个高信心的 AI 采纳点，就是它了。它是受限的、可衡量的，并且直接与开发者周期时间相关。&lt;/p&gt;
&lt;p&gt;这里的 MCP 不是一个新奇层。&lt;strong&gt;它是一种结构化运维智能的传输方式&lt;/strong&gt;，而构建管道是利用它的理想场所。&lt;/p&gt;</content:encoded></item><item><title>最好的 azd 更新是那些消除团队脆弱性的更新</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azd-may-june-2026-operational-upgrades/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azd-may-june-2026-operational-upgrades/</guid><description>最新的 azd 周期与其说是关于炫酷的命令，不如说是关于减少真实团队中的部署混乱。</description><content:encoded>&lt;p&gt;原文来源：&lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-developer-cli-azd-may-june-2026/"&gt;Azure Developer CLI (azd) – May and June 2026&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;两个月内九个版本看起来可能很杂乱，但这个 azd 批次有一个清晰的主线：&lt;strong&gt;消除在 CI 和多服务部署中让团队吃亏的脆弱边缘&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;对我来说头号特性不仅仅是 &lt;code&gt;azd tool&lt;/code&gt;。而是将&lt;strong&gt;先决条件视为一等的工作流状态&lt;/strong&gt;这一产品决策。在实践中，许多失败的云部署不是架构失败，而是本地和 CI 环境不一致。当 CLI 能在带内发现、安装和验证所需工具时，团队就减少了一个最高摩擦的失败源。&lt;/p&gt;
&lt;p&gt;第二个重大胜利是 &lt;code&gt;azd exec&lt;/code&gt;。这很重要，因为部署脚本常常偏离环境上下文，尤其是在密钥解析和变量传播方面。一个继承了完整 azd 环境的跨平台运行器降低了这种偏离，使脚本更值得信赖。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;并发修复&lt;/strong&gt;值得特别关注。并行 Container Apps 部署中的跨服务镜像污染正是那种会摧毁自动化信心的缺陷。你不能一边宣讲平台工程，一边让你的管道偶尔把错误的镜像发送到错误的服务。这个版本周期解决这些竞态条件的事实，比大多数新功能都更重要。&lt;/p&gt;
&lt;h3 id="我对平台团队的实用建议"&gt;我对平台团队的实用建议&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;在 CI 中将 &lt;code&gt;azd tool check&lt;/code&gt; 作为必需的预检步骤&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;审查任何与旧版 &lt;code&gt;azd up&lt;/code&gt; 输出绑定的自定义解析器或正则检查&lt;/strong&gt;，因为统一的进度模型是一个破坏性行为变化。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;立即启用并测试订阅筛选&lt;/strong&gt;——在下一个大规模环境部署之前。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;如果你使用 Container Apps 的远程构建&lt;/strong&gt;，运行一次受控的并行部署压力测试。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我也喜欢向&lt;strong&gt;可操作的预检警告&lt;/strong&gt;和&lt;strong&gt;机器可读的部署标识符&lt;/strong&gt;的转变。这是从开发者友好的 UX 到运营级可观测性的桥梁。&lt;/p&gt;
&lt;p&gt;我的个人观点是，azd 正在从模板启动器成长为交付基础设施。这很好，但也带来了团队的责任：不要再把 azd 升级视为可选的维护工作。考虑到这些发布说明中安全性和可靠性修复的数量，停留在旧版本不再是中性的——它是在主动接受风险。&lt;/p&gt;
&lt;p&gt;如果你的团队在生产路径中使用 azd，正确的策略很简单：&lt;strong&gt;有意地锁定版本、快速测试升级、然后行动&lt;/strong&gt;。这个发布周期的速度展示了云工具的发展方向。那些不能在并行和规模下自我加固的工具将被抛弃。&lt;/p&gt;
&lt;p&gt;这次发布列车证明了 azd 正在努力成为那个能在真实企业压力下生存的工具。&lt;/p&gt;</content:encoded></item></channel></rss>