【问题标题】:Is it possible to set environment variables per branch in the Amplify.yml file (AWS Amplify)?是否可以在 Amplify.yml 文件(AWS Amplify)中为每个分支设置环境变量?
【发布时间】:2021-09-15 13:33:18
【问题描述】:

我目前正在使用 AWS Amplify 来管理我的前端。我一直在整个控制台中手动注入环境变量。

虽然我已经看到(至少在这种情况下),但环境变量得到了正确的保护,如 AWS docs 中所述。我想知道是否可以在每个分支的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/**/*

【问题讨论】:

    标签: amazon-web-services environment-variables aws-amplify


    【解决方案1】:

    到目前为止,您的问题似乎没有理想的解决方案 但是,可以采取一些解决方法来让类似的东西正常工作

    你不能拥有每个分支的环境变量,但你可以拥有每个分支的命令

    因此,您可以为不同的分支定义不同的变量并根据需要运行相应的命令

    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/**/*
    

    【讨论】:

      【解决方案2】:

      我的答案可能已经很晚了,但截至撰写本文时,您的案例似乎有一个开箱即用的解决方案。

      根据几乎逐字记录的文档,它要求您执行以下操作:

      1. 登录 AWS 管理控制台here。
      2. 导航到应用设置>环境变量>管理变量。
      3. 在管理变量部分的变量下,输入您的密钥。对于价值,输入您的价值。
      4. 选择Actions,然后选择Add variable override.。您可以根据分支覆盖键的环境变量。
      5. 您现在拥有一组特定于您的分支的环境变量。

      这个GIF 更好地说明了步骤 4-5。

      我没有足够的 stackoverflow 声誉来添加图像,因此请参阅文档中的第 5 点,其中描述了为特定分支添加变量覆盖的方法。 https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-21
      • 2022-08-15
      相关资源
      最近更新 更多