You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions中Secrets未被读取的问题求助

排查React项目GitHub Actions Secrets环境变量为空的问题

针对你遇到的Secrets无法注入环境变量的问题,按以下步骤逐一排查:

1. 确认环境Secrets的匹配与权限

  • 检查github-pages环境下的Secrets名称完全匹配REACT_APP_GITHUB_API_KEY和REACT_APP_GITHUB_USER(GitHub Secrets名称严格区分大小写,下划线、大小写都不能错)。
  • 进入仓库「Settings」→「Environments」→「github-pages」,确认该环境的Deployment branches包含main分支(否则push到main时无法加载该环境的Secrets)。
  • 若环境设置了审批规则,需确认工作流运行时已通过审批(未审批的话环境Secrets不会生效)。

2. 验证工作流中环境变量的传递

在Install and Build步骤的run命令中添加变量打印,确认变量是否被正确读取:

run: |
  echo "REACT_APP_GITHUB_API_KEY: $REACT_APP_GITHUB_API_KEY"
  echo "REACT_APP_GITHUB_USER: $REACT_APP_GITHUB_USER"
  npm install
  npm run build

运行工作流后查看日志,若打印结果为空,说明Secrets未被正确传入;若有内容,说明问题出在React构建环节。

3. 确认React构建时的变量注入

  • React仅在构建阶段注入以REACT_APP_为前缀的环境变量,确保代码中通过process.env.REACT_APP_GITHUB_API_KEY读取(注意不要遗漏前缀或拼写错误)。
  • 构建完成后,在工作流中添加步骤检查静态文件是否包含变量:
- name: Check injected variables
  run: grep REACT_APP_GITHUB_API_KEY build/index.html

若输出为空,说明构建时未读取到环境变量;若有类似window.REACT_APP_GITHUB_API_KEY="xxx"的内容,说明注入成功,问题可能出在代码读取逻辑或缓存。

4. 清理缓存避免旧构建影响

旧的node_modules或build缓存可能导致变量未更新,修改Install and Build步骤的命令:

run: |
  rm -rf node_modules build
  npm install
  npm run build

或者使用npm ci代替npm install(npm ci会严格按照package-lock.json安装,避免依赖缓存干扰)。

5. 检查Secrets的作用范围

  • 若仓库属于组织,确认Secrets的作用范围包含当前仓库;
  • 环境级Secrets优先级高于仓库级Secrets,若环境中存在同名Secrets,以环境配置的为准,需确保环境中的Secrets值正确。

内容的提问来源于stack exchange,提问作者ben8622

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 00:27:52