将环境变量传递给Github操作



Github提供secret,其值可以在工作流中使用。不幸的是,secrets的值是受保护的,我们不能很容易地在repo中看到它,也不能在工作流中调试它,因为它被清除了。

有没有办法定义一个"环境变量"?在存储库中,可以很容易地看到和调试?我的用例是配置,可以很容易地修改,如果回购是分叉。

您可以像这样在.env文件中存储环境变量:

FOO=bar

然后您可以编写代码将该文件中的数据附加到$GITHUB_ENV:

name: CI
on:
workflow_dispatch:
jobs:
foo:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: cat .env >> $GITHUB_ENV
- name: Use the value
run: echo $FOO

对于每个需要从该文件访问环境变量的作业,您需要执行cat .env >> $GITHUB_ENV(并使用actions/checkout)。

不要在。env中存储秘密——仅用于存储配置等。

完整代码:https://github.com/brc-dd/env-from-file

您也可以将.env更改为.env.github之类的内容,以使事情更有条理。

供参考:您可以将secret作为环境变量传递给内部工作。

我在动作工作流中添加foo作为秘密的示例工作:

name: simple secret
id: secret_env
env:
foo: ${{secrets.>
run: echo $ Foo **

上面的是一个例子,但是忽略代码语法问题,因为这里有注释格式。

最新更新