我正在尝试使用MRSK构建和部署一个rails 7应用程序。docker构建过程需要不同的环境变量来捆绑gem,安装yarn包等。
我的deploy.yml包含以下信息:
env:
secret:
- GITLAB_TOKEN
builder:
secrets:
- GITLAB_TOKEN
args:
RUBY_VERSION: 3.2.2
multiarch: false
. env文件:
GITLAB_TOKEN='test'
在我的Dockerfile中,我尝试了以下操作:
RUN echo "$GITLAB_TOKEN"
RUN --mount=type=secret,id=GITLAB_TOKEN
RUN cat /run/secrets/GITLAB_TOKEN
但在这两种情况下,环境都是空的。
我发现了一个解决方法,使用args
代替deploy.yml中的环境:
builder:
args:
GITLAB_TOKEN: "<%= ENV['GITLAB_TOKEN'] %>"
但是args并没有被屏蔽,并且在yml文件中使用erb文本看起来非常丑陋。这也可能不适用于非轨道应用。
1条答案
按热度按时间68de4m5k1#
在你的Dockerfile中应该是这样的