小编Mar*_*Kim的帖子

动态检索 GitHub 操作密钥

我正在尝试在运行时使用 GitHub Actions 动态拉回 GitHub 机密:

假设我有两个 GitHub Secrets:

  1. SECRET_ORANGES : "这是一个橙色的秘密"
  2. SECRET_APPLES : "这是苹果的秘密"

在我的 GitHub Action 中,我有另一个 env 变量,它在分支之间会有所不同

env:
  FRUIT_NAME: APPLES
Run Code Online (Sandbox Code Playgroud)

本质上,我想找到一种方法来进行某种变量替换以获得正确的秘密。因此,在我的一项儿童工作中,我想做以下事情:

env:
  FRUIT_SECRET: {{ 'SECRET_' + env.FRUIT_NAME }}
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法但没有运气:

secrets['SECRET_$FRUIT_NAME'] }}
Run Code Online (Sandbox Code Playgroud)

我什至尝试了一种没有串联的更简单的方法,只是为了尝试让它工作

secrets['$FRUIT_NAME'] }}
Run Code Online (Sandbox Code Playgroud)

{{ secrets.$FRUIT_NAME }}

Run Code Online (Sandbox Code Playgroud)

以上都没有奏效。

如果我没有很好地解释这一点,请道歉。我试图让我的例子尽可能简单。

任何人都知道如何实现这一目标?

或者,我想做的是在每个分支的基础上存储秘密

例如:

customer1代码分支中: SECRET_CREDENTIAL="abc123"

customer2代码分支中: SECRET_CREDENTIAL="def456"

然后我可以SECRET_CREDENTIAL根据我所在的分支访问正确的值。

谢谢!

更新:我越来越接近我想要实现的目标:

name: Test

env:
  CUSTOMER: CUSTOMER1

jobs:
  build:
    runs-on: ubuntu-latest
    env:
      AWS_ACCESS_KEY_ID: ${{ env.CUSTOMER }}_AWS_ACCESS_KEY_ID
    steps:
    - uses: actions/checkout@v2
    - run: …
Run Code Online (Sandbox Code Playgroud)

github github-actions

11
推荐指数
4
解决办法
4242
查看次数

标签 统计

github ×1

github-actions ×1