Jos*_*e A 5 environment-variables amazon-web-services aws-amplify
我目前正在使用 AWS Amplify 来管理我的前端。我一直在整个控制台中手动注入环境变量。
虽然我已经看到这一点(至少在这种情况下),但环境变量得到了正确的保护,如AWS 文档中所述。我想知道是否可以在amplify.yml每个分支的文件变量中设置不一定需要保护的变量。
像这样的东西:
version: 0.1
env:
  variables:
    myvarOne:
      branch: master
        value: ad
      branch: dev
        value otherval
frontend:
  phases:
    preBuild:
      commands:
        - yarn install
        - yarn lint
        - yarn test
    build:
      commands:
        - yarn build build
  artifacts:
    baseDirectory: build
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*
到目前为止,似乎没有适合您的问题的理想解决方案但是,可以采取一些解决方法来使类似的事情发挥作用
您不能拥有每个分支环境变量,但可以拥有每个分支命令
因此,您可以为不同的分支定义不同的变量并根据需要运行适当的命令
version: 0.1
env:
  variables:
    myvarOne:
      value_master: val
      value_dev: otherval
frontend:
  phases:
    preBuild:
      commands:
        - if [ "${AWS_BRANCH}" = "master" ]; then export VALUE=${value_master}; fi
        - if [ "${AWS_BRANCH}" = "dev" ]; then export VALUE=${value_dev}; fi
        - yarn install
        - yarn lint
        - yarn test
    build:
      commands:
        - yarn build build
  artifacts:
    baseDirectory: build
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*
我可能很晚才得到答案,但截至撰写本文时,似乎针对您的情况存在一个开箱即用的解决方案。
根据几乎逐字的文档,它要求您执行以下操作:
此GIF更好地说明了步骤 4-5。
我没有足够的 stackoverflow 声誉来添加图像,因此请参阅文档中的第五点,其中描述了为特定分支添加变量覆盖的方法。 https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html
| 归档时间: | 
 | 
| 查看次数: | 3228 次 | 
| 最近记录: |