Prhub

#7283 [CI] Add no_proxy configuration for docker execution

PaddlePaddle/FastDeploy · 作者 EmmonsCurse · 合并时间 2026-04-09 19:20

分析状态 已生成
文件变更 14提交数 1 · 评论 3
代码增减 +14 / -0
CI infra

执行摘要

为 CI workflow 添加统一的 no_proxy 配置,提升网络访问稳定性。

PR body 中指出,CI 任务在通过代理访问内部服务和第三方包镜像时受到网络不稳定性影响,可能导致依赖安装(如 pip install、wget)失败。为提升可靠性和避免不必要的代理路由,需要显式配置 no_proxy 以绕过常用内部域名和镜像源。

这是一个简单的 CI 配置优化,对于了解 FastDeploy CI 基础设施的工程师值得一读,特别是关注环境变量配置和代理设置的部分。无需深入代码逻辑,但应注意讨论中提到的配置一致性问题。

讨论亮点

fastdeploy-bot 在 review 中建议同步更新遗漏的 XPU/HPU 相关 workflow 文件(如 _build_xpu.ymlci_hpu.yml 等),因为这些文件已有旧的 no_proxy 配置但值与本次 PR 不一致。建议将它们的配置更新为完整列表以保持一致性。然而,PR 已合并,未看到采纳该建议的进一步讨论。

实现拆解

修改了 .github/workflows/ 目录下的 14 个 YAML 配置文件,在每个文件的 Docker 运行命令中添加了一行环境变量设置:-e "no_proxy=localhost,127.0.0.1,0.0.0.0,bcebos.com,.bcebos.com,bj.bcebos.com,su.bcebos.com,paddle-ci.gz.bcebos.com,apiin.im.baidu.com,baidu-int.com,.baidu.com,aliyun.com,gitee.com,pypi.tuna.tsinghua.edu.cn,.tuna.tsinghua.edu.cn"。这确保了容器内网络请求对这些域名的访问直接连接,而不通过代理。

文件 模块 状态 重要度
.github/workflows/_accuracy_test.yml CI/Workflow modified 5.0
.github/workflows/_base_test.yml CI/Workflow modified 5.0
.github/workflows/_build_linux.yml CI/Workflow modified 5.0

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

配置一致性建议 设计

fastdeploy-bot 在评论中指出遗漏的 XPU/HPU workflow 文件(如 _build_xpu.yml、ci_hpu.yml)已有旧的 no_proxy 配置,但值与本次 PR 不一致,建议更新为统一列表以确保所有 CI 任务行为一致。

结论:建议被记录,但 PR 已合并未显示采纳,可能计划后续处理或忽略,导致配置不一致风险。 · pending

风险与影响

主要风险是配置不一致性:遗漏的 XPU/HPU 文件未更新,可能导致这些 CI 任务行为不同,增加维护复杂性。此外,no_proxy 列表可能不完整或包含冗余域名,但整体风险较低,因为这只是环境变量设置,不影响核心功能。

影响范围仅限于 CI 系统:提高 CI 任务的稳定性和成功率,减少因网络代理问题导致的失败。对最终用户和系统核心功能无直接影响,但有助于团队更流畅地开发和测试。

配置不一致 维护成本高

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

执行摘要

本 PR 为 FastDeploy 的 CI 系统添加了统一的 no_proxy 环境变量配置,覆盖 14 个 workflow 文件,旨在绕过内部域名和镜像源的代理访问,以减少网络不稳定导致的依赖安装失败,提升 CI 任务的稳定性和可靠性。这是一个常规的基础设施维护变更,风险较低但存在配置一致性问题需关注。

功能与动机

CI 任务在通过代理访问内部服务(如百度云存储 .bcebos.com)和第三方包镜像(如清华源 .tuna.tsinghua.edu.cn)时,常因网络不稳定而失败,影响依赖安装(如 pip installwget)。为改善此问题,本 PR 显式配置 no_proxy 环境变量,使容器内请求直接连接这些域名,避免不必要的代理路由,从而提高 CI 系统的可靠性。

实现拆解

修改了 .github/workflows/ 目录下的 14 个 YAML 配置文件,在每个文件的 Docker 运行命令中添加一行环境变量设置。例如,在 _accuracy_test.yml 中:

-e "no_proxy=localhost,127.0.0.1,0.0.0.0,bcebos.com,.bcebos.com,bj.bcebos.com,su.bcebos.com,paddle-ci.gz.bcebos.com,apiin.im.baidu.com,baidu-int.com,.baidu.com,aliyun.com,gitee.com,pypi.tuna.tsinghua.edu.cn,.tuna.tsinghua.edu.cn"

关键改动点:

  • 环境变量添加:统一在 docker run 命令中插入 -e "no_proxy=..."
  • 域名覆盖:包括本地地址、百度云服务、阿里云、Gitee 和清华镜像源等常用域名。
  • 影响范围:涉及 accuracy test、base test、build、unit test 等多个 CI 流程,确保网络请求优化。

评论区精华

fastdeploy-bot 在 review 中提出了关键建议:

🟡 建议 发现以下 workflow 文件未被本次 PR 覆盖,但已有旧的 no_proxy 配置,建议同步更新以保持一致性:_build_xpu.yml_xpu_4cards_case_test.yml_xpu_8cards_case_test.ymlci_hpu.yml。建议将这些文件的 no_proxy 值也更新为本次 PR 中的完整列表,确保所有 CI 任务行为一致。
此建议未被采纳或讨论,PR 已直接合并,可能导致 XPU/HPU 相关 CI 任务配置不一致,增加维护复杂度。

风险与影响

  • 风险
    • 配置不一致:遗漏的 XPU/HPU 文件未更新,旧配置(如 bcebos.com,mirrors.tuna.tsinghua.edu.cn)与本次统一列表不同,可能引发网络访问行为差异。
  • 维护成本no_proxy 字符串在 14 个文件中重复,未来更新需同步修改多个文件,易出错。
  • 域名覆盖不足:列表可能未涵盖所有内部域名,但风险较低,因不影响核心代码。
  • 影响
    • 积极影响:提升 CI 稳定性,减少代理导致的网络失败,加速构建和测试流程。
  • 影响范围:仅限 CI 系统,对用户功能和产品代码无直接影响,但有助于团队开发效率。

关联脉络

从近期历史 PR 看,本 PR 是 FastDeploy CI 基础设施优化系列的一部分:

  • PR 7264PR 7244:同样聚焦 CI 环境变量配置,通过锁定版本或移除重复项提升稳定性。
  • PR 7242:优化 CI 测试执行时间,与本 PR 共同致力于提高 CI 效率。
    这些 PR 揭示了团队持续改进 CI 系统的趋势,关注网络、依赖和环境变量管理,以支持复杂的模型部署测试需求。

参与讨论