Tza*_*ach 5 github docker dockerfile github-actions
在我的工作流程中,我使用以下步骤运行自定义操作:
- name: Run action
uses: ./backend
env:
MY_SECRET: ${{ secrets.MY_SECRET }}
Run Code Online (Sandbox Code Playgroud)
这是action.yml
:
name: "Backend"
on: [pull_request]
runs:
using: 'docker'
image: "Dockerfile"
Run Code Online (Sandbox Code Playgroud)
由于某种原因,MY_SECRET
我的Dockerfile
. 我尝试在 shell 脚本文件和命令中访问它RUN
:
RUN echo "MY_SECRET: $MY_SECRET"
Run Code Online (Sandbox Code Playgroud)
但它总是空的。
我尝试了存储库级别和组织级别的机密,但环境变量始终为空。
知道为什么吗?
您不能$MY_SECRET
在容器内使用。相反,您应该通过--build-arg
标志传递参数。
我认为你应该这样做:
steps:
- run: docker build --build-arg MY_SECRET=$MY_SECRET .
Run Code Online (Sandbox Code Playgroud)
然后您就可以MY_SECRET
在构建阶段进行访问。
如果您使用操作而不是手动进行构建,则应该了解如何传递构建参数。