【问题标题】:Using Secrets in Composite Actions GitHub在复合动作中使用 Secrets GitHub
【发布时间】:2021-11-25 20:27:54
【问题描述】:

我正在创建一个复合操作,并尝试使用 GitHub 提供的机密,但我遇到了错误,指出找不到机密。

这可以通过您的 action.yml 重新创建,如下所示:

name: 'test'
description: 'test'
runs:
  using: 'composite'
  steps:
    - name: Create Branch
      run: echo "git branch test"
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      shell: bash

复合动作似乎不知道秘密,这使得通过它们运行 git 命令变得困难。

【问题讨论】:

  • 您需要通过输入传递这些秘密。这是有充分理由的:想象一下,如果您调用的操作可以使用您的秘密,而无需您将它们传递给该操作。

标签: github-actions


【解决方案1】:

正如上面评论中所述的rethab。如果您需要在操作中使用机密,则需要通过操作输入来通知这些机密。

在您的情况下,action.yml 文件应如下所示:

name: 'test'

description: 'test'

inputs:
  token:
    description: 'A Github PAT'
    required: true

runs:
  using: 'composite'
  steps:
    - name: Create Branch
      run: echo "git branch test"
      env:
        GITHUB_TOKEN: ${{ inputs.token }}
      shell: bash

出于安全原因,GHA 以这种方式工作,因为如果可以在某些操作中直接管理它们,您不需要用户的同意来操纵他们的存储库机密。

这样,您就可以保证用户在使用操作时需要告知秘密并从其工作流程中授予此访问权限。

【讨论】:

  • 可重用工作流有secrets,但操作仅限于inputs
猜你喜欢
  • 2020-10-15
  • 1970-01-01
  • 2019-06-27
  • 2022-06-21
  • 2022-10-14
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
相关资源
最近更新 更多