[英]How do I use secrets in Github Actions?
我觉得这是一个非常愚蠢的问题,但似乎无法弄清楚。 我已经建立了一个非常简单的 node.js 项目,并将API_KEY
作为秘密。
在nodejs 操作 yml我有以下内容:
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
env:
API_KEY: ${{ secrets.API_KEY }}
- run: export
- run: npm ci
- run: npm run build --if-present
- run: npm test
API_KEY
不会像我期望的那样在export
显示,也不会在我console.log(process.env)
。
根据文档,这应该按原样工作。 我觉得我错过了一些非常简单的东西。
这不是这个 stackoverflow question 中建议的分叉。
在我的节点脚本中获取 API_KEY 缺少什么?
环境变量可以定义在三个级别:
env
的顶级地图jobs.<job_id>.env
jobs.<job_id>.steps.env
优先考虑可用的最具体的变量。 例如:
env:
VAR: I am global
jobs:
job1:
steps:
- run: echo "$VAR" # "I am global"
job2:
env:
VAR: I am on the job level
steps:
- run: echo "$VAR" # "I am on the job level"
- env:
VAR: I am on the step level
run: echo "$VAR" # "I am on the step level"
- run: echo "$VAR" # "I am on the job level"
要在一个步骤中动态设置环境变量,并使其可用于后续步骤,您必须使用环境文件( 最近已从使用工作流命令更改为环境变量,现在已弃用环境变量):
steps:
- name: Set the variable
run: echo "foo=bar" >> "$GITHUB_ENV"
- name: Print the variable
run: echo "$foo" # bar
旧的,现在已弃用的方式将其设置为:
run: echo "::set-env name=foo::bar"
但这现在会触发弃用警告。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.