首页
/ Azure Pipelines Agent 在 macOS 15 Sequoia 上的兼容性问题解析

Azure Pipelines Agent 在 macOS 15 Sequoia 上的兼容性问题解析

2025-07-08 20:34:34作者:劳婵绚Shirley

问题背景

微软 Azure Pipelines Agent 项目在最新发布的 macOS 15 Sequoia 操作系统上遇到了兼容性问题。许多用户报告称,在升级到 macOS 15.1 后,他们的构建代理无法正常运行管道,主要表现为两种症状:

  1. 使用 x64 代理在 M1 Mac 上运行时,管道会无限期挂起
  2. 切换到 ARM64 代理时,出现 SSL 连接建立失败的错误

根本原因分析

经过技术团队深入调查,发现这些问题源于 macOS 15 引入的新安全策略:

  1. x64 模拟问题:在 Apple Silicon (M1/M2) 设备上运行 x64 版本的代理时,由于 Rosetta 2 转译层的限制,会导致进程挂起。这是已知的兼容性问题,微软官方文档中已有相关警告。

  2. ARM64 代理的签名问题:当用户尝试使用原生 ARM64 代理时,macOS 15 更严格的安全策略会阻止加载必要的加密库(libSystem.Security.Cryptography.Native.Apple),导致 SSL/TLS 认证失败。

解决方案

针对上述问题,微软技术团队提供了以下解决方案:

对于 ARM64 代理的 SSL 错误

  1. 修改 macOS 安全设置:

    • 打开"系统设置" → "隐私与安全性"
    • 在"安全性"部分下方,找到并允许被阻止的代理程序
    • 如果选项不可见,需要通过终端临时降低安全级别:
      sudo spctl --master-disable
      
    • 完成配置后重新启用完整安全性:
      sudo spctl --master-enable
      
  2. 显式批准加密库的使用:

    • 在"隐私与安全性"设置中手动批准所有相关组件的运行权限

对于 x64 代理的挂起问题

强烈建议在 Apple Silicon 设备上使用原生 ARM64 版本的代理,这不仅能避免挂起问题,还能获得更好的性能表现。

技术团队后续计划

微软 Azure Pipelines 团队已经意识到二进制签名问题的重要性,并正在积极解决:

  1. 改进代理程序的签名机制,使其符合 macOS 15 的安全要求
  2. 在代理程序中添加安全检查逻辑,当检测到不兼容的安全设置时主动提醒用户
  3. 优化文档,明确说明在不同架构 Mac 设备上的最佳实践

用户建议

基于当前情况,我们向用户推荐以下最佳实践:

  1. Apple Silicon 设备用户应优先选择 ARM64 版本的代理程序
  2. 在升级到 macOS 15 前,先备份现有代理配置
  3. 遇到问题时,首先检查系统安全设置是否阻止了代理程序的正常运行
  4. 关注官方更新,及时升级到修复版本

通过以上措施,用户可以确保 Azure Pipelines Agent 在 macOS 15 Sequoia 上的稳定运行,持续获得高效的 CI/CD 体验。

登录后查看全文
热门项目推荐
相关项目推荐