我正在尝试在运行时使用 GitHub Actions 动态拉回 GitHub 机密:
假设我有两个 GitHub Secrets:
在我的 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)