You need to enable JavaScript to run this app. 如何为AWS Amplify指定部署环境配置amplify.yml的差异化构建命令
优惠活动
大模型
产品
解决方案
定价
更多

如何为AWS Amplify指定部署环境配置amplify.yml的差异化构建命令

Amplify 按部署环境配置差异化构建命令的实现方法

可以直接利用Amplify构建阶段内置的环境变量做分支判断,实现不同环境执行不同npm构建指令,不需要额外的复杂配置。

调整后的可用 amplify.yml 配置

version: 1
frontend:
   phases:
       preBuild:
           commands: ['npm ci']
       build:
           commands:
               # 根据当前部署关联的Git分支判断,执行对应环境的构建命令
               - if [ "${AWS_BRANCH}" = "production" ]; then npm run build:prod; else npm run build:dev; fi
   artifacts:
       baseDirectory: dist/my-app
       files:
           - '**/*'
   cache:
       paths:
           - 'node_modules/**/*'

配置逻辑说明

  • 核心判断依据:AWS_BRANCH是Amplify平台为每个部署环境自动注入的内置变量,值为当前环境关联的Git分支名称,不需要手动在控制台配置即可在构建命令中直接读取
  • 命令替换逻辑:把原来固定执行的npm run build替换为Shell条件判断语句,当识别到当前环境关联分支为production时,执行生产环境专属的构建命令;其余分支(比如你配置的develop环境)执行对应的开发环境构建命令
  • 扩展方式:如果后续需要新增staging等更多独立部署环境,只需要在判断语句中补充elif [ "${AWS_BRANCH}" = "对应分支名" ]; then 对应构建命令;的分支逻辑即可,不需要修改配置文件的整体结构

常见注意事项

  • 分支名称匹配要和Amplify控制台中每个部署环境关联的Git分支名称完全一致,注意大小写、连字符的差异,避免判断失效
  • 优先用平台内置的AWS_BRANCH做环境判断,不要在判断语句中硬编码其他手动配置的自定义环境变量值,避免变量遗漏导致的构建失败
  • 原有产物输出目录、依赖缓存路径的配置不需要修改,和原有逻辑保持一致即可

内容的提问来源于stack exchange,提问作者dcp3450

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.29 06:36:03