Node.js 如何在Github操作中使用机密?

Node.js 如何在Github操作中使用机密?,node.js,github,github-actions,Node.js,Github,Github Actions,我觉得这是一个非常愚蠢的问题,但似乎无法解决。我有一个API\u密钥作为秘密 在报告中,我有以下几点: steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} env

我觉得这是一个非常愚蠢的问题,但似乎无法解决。我有一个
API\u密钥
作为秘密

在报告中,我有以下几点:

    steps:
    - uses: actions/checkout@v2
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
      env:  
        API_KEY: ${{ secrets.API_KEY }} 
    - run: export 
    - run: npm ci
    - run: npm run build --if-present
    - run: npm test
正如我所期望的那样,当我离开时,它也没有表现出来

,这应该按原样工作。我觉得我错过了一些非常简单的事情

这不是一把叉子


要在节点脚本中获得可用的API_密钥,我缺少什么?

环境变量可以在三个级别上定义:

  • 全局:一个名为
  • 在每个职务级别上:在
  • 在每一步级别上:在
优先选择可用的最具体的变量。例如:

env:
我是全球的
工作:
工作1:
步骤:
-运行:echo“$VAR”#“我是全球的”
工作2:
环境:
VAR:我在工作层面
步骤:
-运行:echo“$VAR”#“我在工作级别”
-环境:
VAR:我在台阶上
运行:echo“$VAR”#“我在步骤级别”
-运行:echo“$VAR”#“我在工作级别”
要在步骤中动态设置环境变量并使其可用于后续步骤,必须使用(这与使用工作流命令有关,现在不推荐使用工作流命令作为环境变量):

步骤:
-name:设置变量
运行:echo“foo=bar”>>“$GITHUB\u ENV”
-名称:打印变量
跑步:回声“$foo”#酒吧
旧的、现在已弃用的方法将其设置为:

run:echo:::set env name=foo::bar”

但这会触发一个弃用警告。

您是否已将该机密添加到存储库中?
export
不会显示它,因为它不在同一步骤中。你必须在你想要访问的每一步中设置秘密。@BenjaminW。是的,秘密在存储库中。您是否有关于如何在每个步骤中设置机密的示例?如果您在运行步骤中添加
env:
API\u KEY
字段?像
-env:\nAPI_KEY:${{secrets.API_KKEY}\n运行:导出
?(当然,用换行符和适当的缩进替换
n
)@BenjaminW。这似乎是答案。我想知道为什么文档中不清楚这一点。我会在他们的行动页面上创建一个公关,看看为什么会这样。