<?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>Devops | The .NET Blog</title><link>https://thedotnetblog.com/zh/tags/devops/</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>Mon, 11 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/zh/tags/devops/index.xml" rel="self" type="application/rss+xml"/><item><title>SDD Conference 2026</title><link>https://thedotnetblog.com/zh/events/sdd-conference-2026/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><guid>https://thedotnetblog.com/zh/events/sdd-conference-2026/</guid><description>在伦敦 Barbican Centre 举办的5天软件开发大会，78场演讲和14场工作坊，涵盖架构、.NET、AI、Azure、DevOps 等主题。</description><content:encoded>&lt;p&gt;&lt;strong&gt;SDD 2026&lt;/strong&gt; 于 &lt;strong&gt;2026年5月11日至15日&lt;/strong&gt; 在 &lt;strong&gt;伦敦 Barbican Centre&lt;/strong&gt; 举办。为期3天的核心大会从周二到周四，周一和周五有可选的全天工作坊。&lt;/p&gt;
&lt;p&gt;拥有 &lt;strong&gt;78场演讲&lt;/strong&gt; 和 &lt;strong&gt;14场工作坊&lt;/strong&gt;，是欧洲内容最丰富的开发者大会之一。&lt;/p&gt;
&lt;h2 id="主题"&gt;主题&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;架构思维&lt;/li&gt;
&lt;li&gt;C# 13 中的函数式代码&lt;/li&gt;
&lt;li&gt;无服务器设计&lt;/li&gt;
&lt;li&gt;语义 AI&lt;/li&gt;
&lt;li&gt;Azure Kubernetes Services&lt;/li&gt;
&lt;li&gt;精益 DevOps 策略&lt;/li&gt;
&lt;li&gt;模型上下文协议 (MCP)&lt;/li&gt;
&lt;li&gt;.NET 中的智能代理 AI&lt;/li&gt;
&lt;li&gt;重构单体应用&lt;/li&gt;
&lt;li&gt;使用 LLM 更快编程&lt;/li&gt;
&lt;li&gt;后量子世界中的密码学&lt;/li&gt;
&lt;li&gt;本地优先开发&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="演讲者"&gt;演讲者&lt;/h2&gt;
&lt;p&gt;世界级阵容包括 &lt;strong&gt;Kevlin Henney&lt;/strong&gt;、&lt;strong&gt;Neal Ford&lt;/strong&gt;、&lt;strong&gt;Sander Hoogendoorn&lt;/strong&gt;、&lt;strong&gt;Andrew Clymer&lt;/strong&gt;、&lt;strong&gt;Jacqui Read&lt;/strong&gt;、&lt;strong&gt;Christian Weyer&lt;/strong&gt;、&lt;strong&gt;Jeff Prosise&lt;/strong&gt;、&lt;strong&gt;Jules May&lt;/strong&gt;、&lt;strong&gt;Oliver Sturm&lt;/strong&gt; 和 &lt;strong&gt;Raju Gandhi&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="门票和信息"&gt;门票和信息&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://sddconf.com/"&gt;活动网站&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sddvault.s3.amazonaws.com/assets/SDD_2026_schedule.pdf"&gt;完整议程 PDF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sddconf.com/register"&gt;注册选项&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;98%的 SDD 2025 参会者将整体体验评为&amp;quot;好&amp;quot;、&amp;ldquo;非常好&amp;quot;或&amp;quot;优秀&amp;rdquo;。&lt;/p&gt;</content:encoded></item><item><title>Azure Developer CLI (azd) 2026年4月更新</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azd-april-2026-developer-cli-updates/</link><pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azd-april-2026-developer-cli-updates/</guid><description>azd 在 2026 年 4 月发布了五个版本，重点是对 Python、JavaScript、TypeScript 和 .NET 的多语言钩子支持，以及 azd update 公开预览版、AI 配额预检查等功能。</description><content:encoded>&lt;p&gt;&lt;em&gt;本文已自动翻译。要查看原始版本，&lt;a href="https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azd-april-2026-developer-cli-updates/"&gt;请点击此处&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-developer-cli-azd-april-2026/"&gt;Azure Developer CLI (azd) 在 2026 年 4 月发布了五个版本&lt;/a&gt;（1.23.14 至 1.24.2），重大主题是钩子现在可在 Python、JavaScript、TypeScript 和 .NET 中运行——而不仅限于 Bash 和 PowerShell。&lt;/p&gt;
&lt;h2 id="azureyaml-中的多语言钩子"&gt;azure.yaml 中的多语言钩子&lt;/h2&gt;
&lt;p&gt;除 shell 脚本外，钩子现在可以指向 &lt;code&gt;.py&lt;/code&gt;、&lt;code&gt;.js&lt;/code&gt;、&lt;code&gt;.ts&lt;/code&gt; 或 &lt;code&gt;.cs&lt;/code&gt; 文件。每种语言都可自动解析依赖关系：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt; — 检测 &lt;code&gt;requirements.txt&lt;/code&gt; 或 &lt;code&gt;pyproject.toml&lt;/code&gt;，创建 virtualenv 并在运行前安装依赖。通过 &lt;code&gt;virtualEnvName&lt;/code&gt; 配置环境名称。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JavaScript / TypeScript&lt;/strong&gt; — 检测 &lt;code&gt;package.json&lt;/code&gt; 并自动运行 &lt;code&gt;npm install&lt;/code&gt;。TypeScript 通过 &lt;code&gt;npx tsx&lt;/code&gt; 执行，无需编译步骤。通过 &lt;code&gt;packageManager&lt;/code&gt; 配置块选择包管理器。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;.NET&lt;/strong&gt; — 使用 &lt;code&gt;dotnet run&lt;/code&gt; 运行 &lt;code&gt;.cs&lt;/code&gt; 文件。在 .NET 10+ 上支持单文件脚本。通过 &lt;code&gt;configuration/framework&lt;/code&gt; 块配置目标框架。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这意味着已在这些语言之一中工作的团队，不再需要仅为了连接预配生命周期事件而单独维护 Bash 或 PowerShell 钩子。&lt;/p&gt;
&lt;h2 id="azd-update-进入公开预览"&gt;azd update 进入公开预览&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd update&lt;/code&gt; 现已在所有平台上推出公开预览版。单个命令即可处理更新，无论 azd 最初是如何安装的——不再需要单独追踪 Homebrew、WinGet 或 MSI 的路径。&lt;/p&gt;
&lt;h2 id="通过-azd_non_interactive-实现非交互模式"&gt;通过 AZD_NON_INTERACTIVE 实现非交互模式&lt;/h2&gt;
&lt;p&gt;设置 &lt;code&gt;AZD_NON_INTERACTIVE=true&lt;/code&gt;（或使用 &lt;code&gt;--non-interactive&lt;/code&gt; / &lt;code&gt;--no-prompt&lt;/code&gt;）现在会在 CI/CD 管道中产生一致、确定性的失败，当必需的输入无法自动解析时。此前各命令的行为不一致。&lt;/p&gt;
&lt;h2 id="ai-模型配额预检查"&gt;AI 模型配额预检查&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd provision&lt;/code&gt; 在尝试预配 AI 模型资源之前，会验证 Azure 认知服务配额。因配额限制而失败的部署现在会在流程早期显示错误，而不是在预配进行到一半时才报错。&lt;/p&gt;
&lt;h2 id="copilot-问题排查中的修复此错误"&gt;Copilot 问题排查中的&amp;quot;修复此错误&amp;quot;&lt;/h2&gt;
&lt;p&gt;azd 的 Copilot 问题排查集成获得了直接应用建议修复的能力——而不仅仅是描述它。当代理识别出可修复的问题时，它可以直接在原地进行更改。&lt;/p&gt;
&lt;h2 id="自定义预配提供程序和-key-vault-密钥解析器"&gt;自定义预配提供程序和 Key Vault 密钥解析器&lt;/h2&gt;
&lt;p&gt;扩展作者现在可以使用 &lt;code&gt;WithProvisioningProvider()&lt;/code&gt; 注册替代基础结构后端。另外，azd 在将配置传递给扩展之前会自动解析 &lt;code&gt;@Microsoft.KeyVault(...)&lt;/code&gt; 引用，无需在自定义提供程序中手动解析密钥。&lt;/p&gt;
&lt;h2 id="模板和监视模式的排除项"&gt;模板和监视模式的排除项&lt;/h2&gt;
&lt;p&gt;两个新的忽略文件对文件处理提供了更精细的控制：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;.azdignore&lt;/code&gt;&lt;/strong&gt; — 从模板副本中排除仅供贡献者使用的文件（文档、CI 配置），使最终用户获得干净的项目脚手架。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;.azdxignore&lt;/code&gt;&lt;/strong&gt; — 排除在 &lt;code&gt;azd x watch&lt;/code&gt; 期间触发重新构建的目录，减少迭代开发过程中的噪音。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="保留名称预检查和-dockernetwork-选项"&gt;保留名称预检查和 docker.network 选项&lt;/h2&gt;
&lt;p&gt;azd 现在会在预配开始之前，当预测的资源名称包含 Azure 保留词（&lt;code&gt;MICROSOFT&lt;/code&gt;、&lt;code&gt;WINDOWS&lt;/code&gt; 或 &lt;code&gt;LOGIN&lt;/code&gt; 前缀）时发出警告。新的 &lt;code&gt;docker.network&lt;/code&gt; 选项将 &lt;code&gt;--network&lt;/code&gt; 传递给 &lt;code&gt;docker build&lt;/code&gt;，在需要特定 Docker 网络的企业代理环境中非常有用。&lt;/p&gt;
&lt;h2 id="安全修复"&gt;安全修复&lt;/h2&gt;
&lt;p&gt;Windows MSI 包现在包含代码签名验证。另一项修复关闭了可能在扩展命令边界之间暴露值的环境变量泄漏问题。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;这是繁忙的一个月——多语言钩子支持尤其消除了不主要使用 Bash 的团队的一个真实摩擦点。有关所有五个版本的完整更改日志，请参阅&lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-developer-cli-azd-april-2026/"&gt;完整发行说明&lt;/a&gt;。&lt;/p&gt;</content:encoded></item><item><title>Azure DevOps Server 2026年4月补丁 — PR完成修复和安全更新</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azure-devops-server-april-2026-patch/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azure-devops-server-april-2026-patch/</guid><description>Azure DevOps Server 发布补丁3，修复了PR完成失败问题，改进了注销验证，并恢复了GitHub Enterprise Server PAT连接。</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;本文为自动翻译。查看原文请&lt;a href="https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azure-devops-server-april-2026-patch/"&gt;点击这里&lt;/a&gt;。&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;给运行自托管Azure DevOps Server的团队快速提个醒：Microsoft发布了&lt;a href="https://devblogs.microsoft.com/devops/april-patches-for-azure-devops-server/"&gt;2026年4月补丁3&lt;/a&gt;，包含三个针对性修复。&lt;/p&gt;
&lt;h2 id="修复内容"&gt;修复内容&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Pull Request完成失败&lt;/strong&gt; — 工作项自动完成期间的空引用异常可能导致PR合并失败。如果你遇到过随机的PR完成错误，这很可能就是原因&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;注销重定向验证&lt;/strong&gt; — 改进了注销期间的验证，以防止潜在的恶意重定向。这是一个值得尽快应用的安全修复&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Enterprise Server PAT连接&lt;/strong&gt; — 创建到GitHub Enterprise Server的Personal Access Token连接之前无法正常工作，现在已恢复&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="如何更新"&gt;如何更新&lt;/h2&gt;
&lt;p&gt;下载&lt;a href="https://aka.ms/devopsserverpatch3"&gt;补丁3&lt;/a&gt;并运行安装程序。要验证补丁是否已应用：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;patch-installer&amp;gt;.exe CheckInstall
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果你在本地运行Azure DevOps Server，Microsoft强烈建议保持最新补丁，以确保安全性和可靠性。查看&lt;a href="https://learn.microsoft.com/azure/devops/server/release-notes/azuredevopsserver?view=azure-devops#azure-devops-server-patch-3-release-date-april-14-2026"&gt;发行说明&lt;/a&gt;了解完整详情。&lt;/p&gt;</content:encoded></item><item><title>智能体平台工程正在成为现实 — Git-APE展示了方法</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/agentic-platform-engineering-git-ape/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/agentic-platform-engineering-git-ape/</guid><description>微软的Git-APE项目将智能体平台工程付诸实践 — 使用GitHub Copilot智能体和Azure MCP将自然语言请求转化为经过验证的云基础设施。</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;本文为自动翻译。查看原文请&lt;a href="https://thedotnetblog.com/zh/news/emiliano-montesdeoca/agentic-platform-engineering-git-ape/"&gt;点击这里&lt;/a&gt;。&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;平台工程一直是那种在技术大会上听起来很棒的术语，但通常意味着&amp;quot;我们搭了一个内部门户和一个Terraform封装器。&amp;ldquo;真正的承诺 — 真正安全、受治理且快速的自助式基础设施 — 总是差那么几步。&lt;/p&gt;
&lt;p&gt;Azure团队刚刚发布了&lt;a href="https://devblogs.microsoft.com/all-things-azure/putting-agentic-platform-engineering-to-the-test/"&gt;智能体平台工程系列的第二部分&lt;/a&gt;，这次全是关于动手实现。他们称之为&lt;strong&gt;Git-APE&lt;/strong&gt;（是的，这个缩写是故意的），这是一个开源项目，使用GitHub Copilot智能体加Azure MCP服务器，将自然语言请求转化为经过验证和部署的基础设施。&lt;/p&gt;
&lt;h2 id="git-ape究竟做什么"&gt;Git-APE究竟做什么&lt;/h2&gt;
&lt;p&gt;核心思路：开发者不再需要学习Terraform模块、浏览门户UI或向平台团队提交工单，而是直接和Copilot智能体对话。智能体理解意图、生成基础设施即代码、根据策略进行验证并部署 — 全部在VS Code内完成。&lt;/p&gt;
&lt;p&gt;配置如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/Azure/git-ape
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; git-ape
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在VS Code中打开工作区，GitHub Copilot会自动发现智能体配置文件。你直接与智能体交互：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;@git-ape deploy a function app with storage in West Europe
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;智能体在底层使用Azure MCP Server与Azure服务交互。VS Code设置中的MCP配置启用特定功能：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.serverMode&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;namespace&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.enabledServices&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;deploy&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;bestpractices&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;group&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;subscription&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;functionapp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;storage&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;sql&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;monitor&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.readOnly&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="为什么这很重要"&gt;为什么这很重要&lt;/h2&gt;
&lt;p&gt;对于我们在Azure上构建的人来说，这将平台工程的对话从&amp;quot;如何构建一个门户&amp;quot;转变为&amp;quot;如何将我们的护栏描述为API。&amp;ldquo;当你的平台接口是AI智能体时，你的约束和策略的质量就成了产品本身。&lt;/p&gt;
&lt;p&gt;第一部分博客阐述了理论：描述良好的API、控制模式和明确的护栏使平台做好了智能体化的准备。第二部分通过交付实际工具证明它确实有效。智能体不会盲目生成资源 — 它会根据最佳实践进行验证、遵守命名约定并应用你组织的策略。&lt;/p&gt;
&lt;p&gt;清理同样简单：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;@git-ape destroy my-resource-group
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="我的看法"&gt;我的看法&lt;/h2&gt;
&lt;p&gt;说实话 — 这里更多是关于模式而非具体工具。Git-APE本身是一个演示/参考架构。但底层的理念 — 智能体作为平台的接口、MCP作为协议、GitHub Copilot作为宿主 — 这就是企业开发者体验的前进方向。&lt;/p&gt;
&lt;p&gt;如果你是一个正在寻找如何让内部工具对智能体友好的平台团队，没有比这更好的起点了。如果你是.NET开发者想知道这和你的世界如何关联：Azure MCP Server和GitHub Copilot智能体可以与任何Azure工作负载配合使用。你的ASP.NET Core API、你的.NET Aspire技术栈、你的容器化微服务 — 都可以成为智能体部署流程的目标。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;Git-APE是对智能体平台工程实践的一个早期但具体的展示。克隆&lt;a href="https://github.com/Azure/git-ape"&gt;仓库&lt;/a&gt;，试试演示，开始思考你的平台的API和策略需要是什么样子，才能让智能体安全地使用它们。&lt;/p&gt;
&lt;p&gt;阅读&lt;a href="https://devblogs.microsoft.com/all-things-azure/putting-agentic-platform-engineering-to-the-test/"&gt;完整文章&lt;/a&gt;获取详细教程和演示视频。&lt;/p&gt;</content:encoded></item><item><title>Azure DevOps终于修好了所有人都在抱怨的Markdown编辑器</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/</guid><description>Azure DevOps的工作项Markdown编辑器获得了更清晰的预览与编辑模式区分。一个小改动，却解决了一个真正恼人的工作流问题。</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;本文为自动翻译。查看原始版本，请&lt;a href="https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/"&gt;点击这里&lt;/a&gt;。&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果你使用Azure Boards，你可能经历过这种情况：你在阅读一个工作项描述，也许在检查验收标准，然后不小心双击了。砰——你进入了编辑模式。你根本不想编辑任何东西。你只是在阅读。&lt;/p&gt;
&lt;p&gt;Dan Hellem &lt;a href="https://devblogs.microsoft.com/devops/improving-the-markdown-editor-for-work-items/"&gt;宣布了这个修复&lt;/a&gt;，这是那种听起来很小但确实从日常工作流中消除了真正摩擦的改动。&lt;/p&gt;
&lt;h2 id="什么变了"&gt;什么变了&lt;/h2&gt;
&lt;p&gt;工作项文本字段的Markdown编辑器现在&lt;strong&gt;默认以预览模式打开&lt;/strong&gt;。你可以阅读和交互内容——跟随链接、检查格式——不用担心意外进入编辑模式。&lt;/p&gt;
&lt;p&gt;当你真的想要编辑时，点击字段顶部的编辑图标。完成后，显式退出到预览模式。简单、有意图、可预测。&lt;/p&gt;
&lt;h2 id="为什么这比听起来更重要"&gt;为什么这比听起来更重要&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://developercommunity.visualstudio.com/t/Markdown-editor-for-work-item-multi-line/10935496"&gt;社区反馈帖子&lt;/a&gt;很长。双击编辑的行为是在2025年7月随Markdown编辑器引入的，投诉几乎立刻开始了。&lt;/p&gt;
&lt;p&gt;对于使用Azure Boards进行冲刺计划、需求梳理或代码审查的团队来说，这种微摩擦会累积。&lt;/p&gt;
&lt;h2 id="部署状态"&gt;部署状态&lt;/h2&gt;
&lt;p&gt;已经在向部分客户推出，将在未来两到三周内扩展到所有人。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;不是每个改进都需要成为头条功能。有时候最好的更新就是简单地移除恼人的东西。这就是其中之一——一个小小的UX修复，让Azure Boards对只想安静阅读工作项的人变得不再那么敌意。&lt;/p&gt;</content:encoded></item><item><title>Azure DevOps MCP Server 登陆 Microsoft Foundry：这对你的 AI 代理意味着什么</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azure-devops-mcp-server-microsoft-foundry/</link><pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azure-devops-mcp-server-microsoft-foundry/</guid><description>Azure DevOps MCP Server 现已在 Microsoft Foundry 中可用。只需几次点击，即可将你的 AI 代理直接连接到 DevOps 工作流 — 工作项、仓库、管道。</description><content:encoded>&lt;p&gt;MCP（Model Context Protocol）正在迎来它的高光时刻。如果你一直在关注 AI 代理生态系统，你可能已经注意到 MCP 服务器到处涌现 — 通过标准化协议赋予代理与外部工具和服务交互的能力。&lt;/p&gt;
&lt;p&gt;现在 &lt;a href="https://devblogs.microsoft.com/devops/remote-mcp-server-preview-in-microsoft-foundry/"&gt;Azure DevOps MCP Server 已在 Microsoft Foundry 中可用&lt;/a&gt;，这是那种让你思考实际可能性的集成之一。&lt;/p&gt;
&lt;h2 id="这里到底发生了什么"&gt;这里到底发生了什么&lt;/h2&gt;
&lt;p&gt;Microsoft 已经发布了 Azure DevOps MCP Server 的&lt;a href="https://devblogs.microsoft.com/devops/azure-devops-remote-mcp-server-public-preview"&gt;公开预览版&lt;/a&gt; — 那是 MCP 服务器本身。新的是 Foundry 集成。你现在可以直接从工具目录将 Azure DevOps MCP Server 添加到 Foundry 代理中。&lt;/p&gt;
&lt;p&gt;对于还不熟悉 Foundry 的人：它是 Microsoft 用于大规模构建和管理 AI 驱动应用程序和代理的统一平台。模型访问、编排、评估、部署 — 全部在一个地方。&lt;/p&gt;
&lt;h2 id="配置"&gt;配置&lt;/h2&gt;
&lt;p&gt;配置出奇地简单：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在你的 Foundry 代理中，进入 &lt;strong&gt;Add Tools&lt;/strong&gt; &amp;gt; &lt;strong&gt;Catalog&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;搜索 &amp;ldquo;Azure DevOps&amp;rdquo;&lt;/li&gt;
&lt;li&gt;选择 Azure DevOps MCP Server（preview）并点击 &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;输入你的组织名称并连接&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;就这样。你的代理现在可以访问 Azure DevOps 工具了。&lt;/p&gt;
&lt;h2 id="控制代理可以访问什么"&gt;控制代理可以访问什么&lt;/h2&gt;
&lt;p&gt;这是我欣赏的部分：你不会被困在全有或全无的方式中。你可以指定哪些工具对代理可用。如果你只想让它读取工作项但不碰管道，可以这样配置。最小权限原则，应用到你的 AI 代理上。&lt;/p&gt;
&lt;p&gt;这在企业场景中很重要，你不希望一个代理因为有人让它&amp;quot;帮忙发布&amp;quot;就意外触发部署管道。&lt;/p&gt;
&lt;h2 id="为什么这对-net-团队很有趣"&gt;为什么这对 .NET 团队很有趣&lt;/h2&gt;
&lt;p&gt;想想这在实践中能实现什么：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;冲刺规划助手&lt;/strong&gt; — 可以拉取工作项、分析速度数据并建议冲刺容量的代理&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;代码审查机器人&lt;/strong&gt; — 因为能实际读取你的仓库和关联的工作项，所以理解你的 PR 上下文的代理&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;事件响应&lt;/strong&gt; — 可以创建工作项、查询最近的部署并将 bug 与最近的更改关联的代理&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;开发者入职&lt;/strong&gt; — &amp;ldquo;我应该做什么？&amp;ldquo;得到基于实际项目数据的真实回答&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;对于已经在 CI/CD 管道和项目管理中使用 Azure DevOps 的 .NET 团队来说，拥有一个能直接与这些系统交互的 AI 代理是迈向有用自动化的重要一步。&lt;/p&gt;
&lt;h2 id="更大的-mcp-图景"&gt;更大的 MCP 图景&lt;/h2&gt;
&lt;p&gt;这是更广泛趋势的一部分：MCP 服务器正在成为 AI 代理与外部世界交互的标准方式。我们在 GitHub、Azure DevOps、数据库、SaaS API 中都能看到它们 — 而 Foundry 正在成为所有这些连接汇聚的中心。&lt;/p&gt;
&lt;p&gt;如果你在 .NET 生态系统中构建代理，MCP 值得关注。协议是标准化的，工具正在成熟，Foundry 集成使其无需手动配置服务器连接即可访问。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;Foundry 中的 Azure DevOps MCP Server 目前处于预览阶段，所以预计它会继续发展。但核心工作流是可靠的：连接、配置工具访问，让你的代理使用你的 DevOps 数据工作。如果你已经在 Foundry 生态系统中，只需几次点击就能开始。试试看你能构建什么工作流。&lt;/p&gt;
&lt;p&gt;查看&lt;a href="https://devblogs.microsoft.com/devops/remote-mcp-server-preview-in-microsoft-foundry/"&gt;完整公告&lt;/a&gt;获取完整的配置步骤和更多详情。&lt;/p&gt;</content:encoded></item></channel></rss>