繁体   English   中英

如何将机密作为环境变量传递到 Docker Github Action 中?

[英]How to pass secrets as environment variables into a Docker Github Action?

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

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

这是action.yml

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

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

RUN echo "MY_SECRET: $MY_SECRET"

但它总是空的。

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

知道为什么吗?

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

我认为你应该做这样的事情:

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

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

如果您使用操作而不是手动构建,您应该了解如何传递构建参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM