【发布时间】:2026-01-19 09:40:02
【问题描述】:
我正在尝试使用 Azure DevOps 构建管道,其中一项任务是将 .env 文件复制到 docker 映像中。
Dockerfile 如下所示:
FROM node
WORKDIR /nodebuild
ADD frontend /nodebuild
# Set environment variables from .env during node build
# so that the app uses the production location for static files
ADD .env /nodebuild
RUN export $(grep -v '^#' .env | xargs) && npm install && npm audit fix && npm run build
但是,由于.env 包含我的秘密,我使用Secure Files 将文件存储在 Azure DevOps 中。
现在我试图从我的 Dockerfile 中引用这个文件,我该怎么做?
【问题讨论】:
-
此机制设计用于 > 使用 Secure Files 库在服务器上存储文件,例如签名证书、Apple Provisioning Profiles、Android Keystore 文件和 SSH 密钥,而无需将它们提交到您的源存储库.安全文件在 Azure Pipelines 的“库”选项卡中定义和管理。如果你在那里保密,你不应该将它们构建到 Docker 映像中。
-
@KrzysztofMadej 当
.env是一个大文件时,我建议使用安全文件来管理它。构建映像的某些过程需要秘密(例如,与数据库相关的活动)。在构建过程结束时,我们可以从图像中删除.env。至于怎么做,请看下面的答案。
标签: docker azure-devops