【发布时间】:2020-05-21 12:05:19
【问题描述】:
我是这个代码构建的新手。我正在尝试在“代码构建中的环境变量选项卡”中定义环境变量,并使用 buildspec.yml 中定义的那些环境变量。这样做的目的是使用 proces.env.REACT_APP_SOME_SPACE 在 react 应用程序中访问,它应该提供预期的值,以便它可以用于 API 调用。
buildspec.yml
env:
variables:
// I understand this is plain text. But SOME_TOKEN provided below is defined in the aws code build as an environment variable having a value under environment tab
REACT_APP_SOME_TOKEN: ${SOME_TOKEN}
REACT_APP_SOME_SPACE: ${SOME_SPACE}
REACT_APP_BASE_URL: 'https://myurl'
REACT_APP_REQUEST_TIMEOUT: '10000'
REACT_APP_SERVICE_API_KEY: ${SERVICE_API_KEY}
...
phases:
install:
commands:
- echo "Building ${CODEBUILD_WEBHOOK_TRIGGER}"
...
例如,我在 process.env.REACT_APP_SOME_TOKEN 中看到的只是“${SOME_TOKEN}”或以明文形式提供的任何内容,而不是环境选项卡中为变量“REACT_APP_SOME_TOKEN”定义的 env 值。 我尝试了以下变体,但没有任何效果:
REACT_APP_SOME_SPACE: ${SOME_SPACE}
REACT_APP_SOME_SPACE: '${SOME_SPACE}'
REACT_APP_SOME_SPACE: {SOME_SPACE}
REACT_APP_SOME_SPACE: $SOME_SPACE
问题:
- 这是正确的做法吗?如果没有,请告诉我并提供详细信息
- 我看到aws中的参数存储是用来存储密钥的。但是想知道如何在 process.env 或 react 应用程序中的其他一些环境变量中引用它,这样我就可以在我的 api 调用中使用它来传递它。
我所说的环境选项卡在 aws 代码构建中的意思。
【问题讨论】:
-
您所做的是正确的 wrt 环境变量。如果您将参数存储用于机密,请使用 aws ssm get-parameter api 获取值。 docs.aws.amazon.com/cli/latest/reference/ssm/get-parameter.html
标签: amazon-web-services aws-codebuild