有没有一种方法可以在运行时动态地使 github 操作秘密可用,而无需在 yaml 中明确定义每个变量?

时间:2021-03-11 19:30:39

标签: github github-actions

在当前格式中,您可以在存储库 UI 中定义 git hub 机密,并将它们添加到您的 github 操作 CI 中,如下所示:

- name: test secrets
  shell: bash
  run: 
  env:
     SECRET_1: ${{ secrets.secret_1 }}
     SECRET_2: ${{ secrets.secret_2 }}

但是,如果您想动态添加附加到该环境的所有机密,这种方法很麻烦,特别是如果您的机密定期更改。使用上述方法,每次更改都需要进行不方便的代码部署。有没有人想出解决办法?或者是否有任何内置语法可以加载所有秘密?还是遵循某种模式的秘密?

1 个答案:

答案 0 :(得分:0)

不,这是不可能的(而且将来也不可能)。正如此处所写,您必须清楚地表明您想在 your workflow 中使用什么秘密,如下所示:

steps:
  - name: Hello world action
    with: # Set the secret as an input
      super_secret: ${{ secrets.SuperSecret }}
    env: # Or as an environment variable
      super_secret: ${{ secrets.SuperSecret }}

这是有意为之。由于作者想强制开发人员使用所需的确切秘密。这只是解决安全问题。