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

将test.key存为密钥后,GitHub Action仍报Missing Master Key Error

Rails Credentials 在 GitHub Action 测试环境中出现 Missing Master Key Error 的解决方法

问题场景

运行GitHub Action测试时触发Missing Master Key Error,已完成以下操作但问题未解决:

  • 执行rails credential:edit -e test生成credentials/test.key与credentials/test.yml.enc文件
  • 将test.key的内容存入GitHub Actions的密钥库
  • 在GitHub Action配置中引用密钥:
env:
  RAILS_ENV: test      
  RAILS_MASTER_KEY: ${{ secrets.RAILS_MASTER_KEY }}

注:生产环境采用相同配置(存储master.key)可正常运行。

核心原因与解决方法

Rails Credentials支持两种使用方式,问题出在环境密钥的匹配逻辑上:

  1. 单密钥全局模式:所有环境共用根目录下的master.key,对应根目录的credentials.yml.enc加密文件
  2. 多环境独立密钥模式:每个环境使用专属密钥文件,如production.key、development.key、test.key,分别对应credentials/{环境名}.yml.enc加密文件

如果采用多环境独立密钥模式,GitHub Action中不能用RAILS_MASTER_KEY环境变量,需替换为对应环境的变量名——测试环境应设置RAILS_TEST_KEY而非RAILS_MASTER_KEY。

若想沿用单密钥模式,只需确保所有环境的加密凭据都写入根目录的credentials.yml.enc,同时GitHub Action里的RAILS_MASTER_KEY对应根目录master.key的内容即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 14:22:02