gpt4 book ai didi

docker - 如何将 secret 作为环境变量传递给 Docker Github Action?

转载 作者:行者123 更新时间:2023-12-05 04:43:20 29 4
gpt4 key购买 nike

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

- 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"

但它总是空的。

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

知道为什么吗?

最佳答案

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

我认为你应该这样做:

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

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

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

关于docker - 如何将 secret 作为环境变量传递给 Docker Github Action?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69626104/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com