如何将秘密作为环境变量传递到Docker Github动作?



在我的工作流中,我使用以下步骤运行自定义操作:

- name: Run action
uses: ./backend
env:
MY_SECRET: ${{ secrets.MY_SECRET }}

这是action.yml:

name: "Backend"
on: [pull_request]
runs:
using: 'docker'
image: "Dockerfile"

由于某种原因,MY_SECRET在我的Dockerfile中是空的。我尝试在shell脚本文件和RUN命令中访问它:

RUN echo "MY_SECRET: $MY_SECRET"

但它总是空的。

我尝试了存储库级和组织级的秘密,但环境变量始终为空。

知道为什么吗?

不能在容器内使用$MY_SECRET。相反,您应该通过--build-arg标志传递参数。

我认为你应该这样做:

steps:
- run: docker build --build-arg MY_SECRET=$MY_SECRET .

然后您将能够在构建阶段访问MY_SECRET

如果你使用一个动作而不是手动构建,你应该找出如何传递构建参数。

最新更新