github - Github 在运行操作时返回空字符串作为秘密
问题描述
当我做
${{ secrets.MY_SECRET }}
它返回空字符串,
我是提交更改的人及其我的存储库,因此在授权机密方面应该没有问题,并且还克隆了它而不是分叉,
这就是我的行动工作的样子
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Node.js environment
uses: actions/setup-node@v2.1.5
- name: Download Modules
run: npm ci
- name: Test
env:
TEST_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TEST_SECRET: ${{ secrets.TEST_SECRET }}
run: |
echo ${#TEST_GITHUB_TOKEN}
echo ${#TEST_SECRET}
- name: React Build
run: npm run build
env:
CI: true
REACT_APP_FIREBASE_API_KEY: ${{ secrets.REACT_APP_FIREBASE_API_KEY }}
REACT_APP_PIXABAY_API_KEY: ${{ secrets.REACT_APP_PIXABAY_API_KEY }}
REACT_APP_TEST: 'TESTING'
- name: Upload a Build Artifact
uses: actions/upload-artifact@v2.2.3
with:
name: docs
path: './build'
TEST_GITHUB_TOKEN 返回 40
并且 TEST_SECRET 返回 0
并且 REACT_APP_TEST 环境变量按预期工作,这意味着秘密是没有被传递的东西
解决方案
TL;DR 使用正确的环境访问机密
基本上,有两个地方可以放置您的秘密:环境秘密和存储库秘密,存储库秘密自动提供给作业,但要访问环境,您必须明确告诉它像这样传递环境
jobs:
myJob:
environment: myEnironmentName
runs-on: ubuntu-latest
- 你可以使用任何操作系统
去
回购>>设置>>秘密
并检查您的机密是否存储在环境机密或回购机密中,如果它们存储在环境机密中,则您必须像上面的代码中那样显式访问它。
我真的很感谢所有评论并帮助找到答案的社区成员,谢谢:)
推荐阅读
- sharepoint - 如何更新两个列表之间的列
- powershell-4.0 - 从 main.ps1 文件调用在 powershell 中相对存在于 second.ps1 文件中的函数
- c - 向 3D 数组分配内存和设置值时出现 Seg Fault
- python - 在 pandas 中更改数据类型不会更改 df.info()
- c# - WPF 图像源被覆盖
- android - 通过uri加载时Glide显示黑色图像
- c# - 关于泛型接口的协变和逆变问题
- c# - 在 GeckoFX 中添加和激活 firefox 插件
- abap - 如何动态创建内部表的名称
- javascript - 单独文件中的Javascript在Django中不起作用