如何在 JavaScript GitHub Actions 中访问密钥?

3

我正在开发一个可重复使用的工作流,使用Javascript操作,按照这个tutorial进行。我的action.yml看起来像这样。

name: "Test"
description: "Reusable workflow"
inputs:
  input-one:
    required: false
    type: string

runs:
  using: 'node16'
  main: 'dist/index.js'

但我的问题是如何访问`dist/index.js`中的`secrets`?请注意,我不希望用户提供秘密作为输入,我想将秘密存储在可重用的工作流存储库中,并在需要时使用它。
我尝试更改`action.yml`文件中的`env`(这样我就可以使用node `process.env` API获取秘密),但它会出现错误,显示`Unexpected value 'env'`。
name: "Test"
description: "Reusable workflow"
inputs:
  input-one:
    required: false
    type: string

runs:
  using: 'node16'
  main: 'dist/index.js'
  env: 
    DUMMY_VAL: ${{ secrets.MY_REPOSITORY_SECRET }}
2个回答

3
我认为这是不可能的。那将会是一种安全漏洞。
示例清楚地表明,必须显式传递秘密信息,可以参考 https://docs.github.com/en/actions/using-workflows/reusing-workflows#using-inputs-and-secrets-in-a-reusable-workflow
你可以尝试使用 `default` 值,但看起来它不支持 workflows。可以参考https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_callsecrets 它看起来像这样(可能不起作用):
on:
  workflow_call:
    secrets:
      access-token:
        description: 'Your secret'
        required: false
        default: ${{ secrets.your-secret }}


如果它不能正常工作,您可以在此处建议将其作为功能实现:https://github.com/orgs/community/discussions/categories/actions-and-packages

0

在GitHub.com上,导航到存储库的主页面。在您的存储库名称下,单击“设置”。在侧边栏的“安全性”部分中,选择“Secrets”,然后单击“Actions”。单击“New repository secret”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接