AWS代码使用来自build-spec.yml的env变量进行构建

问题描述 投票:0回答:1

我在以下情况下。我是这个代码构建的新手。基本上,我想要实现的是在“代码构建中的环境变量”选项卡中定义环境变量,并使用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

问题:

  1. 这是正确的做法吗?如果没有,请告知并提供详细信息
  2. 我看到aws中的参数存储用于存储密钥。但是想知道如何在process.env或react应用程序中的其他一些env变量中引用它,以便我可以通过api调用使用它来传递它。

请参阅附件,AWS代码构建中我所说的环境标签是什么意思。请尽早提出建议,因为我不确定,因此必须尽快实施。

enter image description here

amazon-web-services aws-codebuild
1个回答
0
投票

variables只是key: value的映射。此时,将不会使用您为容器指定的环境变量。

© www.soinside.com 2019 - 2024. All rights reserved.