【发布时间】:2021-02-21 20:07:02
【问题描述】:
感谢任何帮助。
我将 AWS-CodePipline 与 AWS-CodeBuild 一起使用(用于我的 Dockerfile 并将其保存在 ECR 中)。到目前为止,它正在工作。但我不明白如何在项目中获取环境变量。所以我将我的 Github 帐户与 CodePipline 连接起来,为了安全起见,我没有将我的环境推送到 Github。所以现在我在 Github 上有一个 env 文件,例如:
config/prod.env
ACCESS_TOKEN_SECRET=
CSRF_TOKEN_SECRET=
ACCESS_TOKEN_PASSWORD=
REFRESH_TOKEN_SECRET=
CLUDINARY_API=
CLUDINARY_API_SECRET=
CLUDINARY_API_NAME=
GOOGLE_AUDIENCE=
ORIGIN=
GOOGLE_TOKEN=
DATABASE_URL=
NODE_ENV=
FORGOTTEN_PASSWORD=
YAHOO_PASSWORD=
AWS-CodeBilder 现在是环境变量部分(图片来自 AWS-Doc)。
现在我觉得这不是 env 的正确位置。因为如果我将所有变量都放在字段中,我会收到错误:
ValidationException
1 validation error detected: Value at 'pipeline.stages.2.member.actions.1.member.configuration' failed to satisfy constraint: Map value must satisfy constraint: [Member must have length less than or equal to 1000, Member must have length greater than or equal to 1]
举例:
Name: ACCESS_TOKEN_SECRET
Value: My_SUPER_PASSWORD
如果我只使用几个变量,我不会得到错误,但对于所有变量,我都会得到错误(与 env 组合无关)。 我做错了什么?如何使用 CodeBuild 和 CodePipline 将我的环境变量添加到 ECR 中的 Docker-Image?
【问题讨论】:
-
产生您报告的错误的代码是什么?
-
如果我将变量放在 CodeBuild 的环境变量部分,我会在 aws 中收到错误。
标签: amazon-web-services docker amazon-ec2 deployment environment-variables