You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript+Vite/Node.js应用Build命令的执行时机与执行者咨询

TypeScript+Node.js项目在AWS SAM下的生产部署流程及build命令说明

build命令的执行时机与执行者

执行者

  • 本地开发/测试阶段:由你(开发者)在本地终端手动执行npm run build,或者通过IDE的构建触发工具执行。
  • 自动化部署阶段:由CI/CD流水线的运行环境执行,比如AWS CodeBuild容器、GitHub Actions Runner,全程无需手动干预。

执行时机

  • 本地手动部署前:必须先执行build,把TypeScript编译为Node.js可运行的JavaScript,同时让Vite完成前端资源的打包压缩,生成可部署的产物目录(通常是dist/)。
  • CI/CD流水线中:代码提交到生产分支(如main)后,流水线会自动拉取代码,先执行npm run build完成构建,再进入后续的打包、部署步骤。
  • AWS SAM CLI部署时:如果你的SAM模板配置了自定义构建逻辑(比如通过BuildMethod指定调用package.json脚本),执行sam build命令时,SAM会自动触发npm run build,将构建产物整理到SAM指定的目录,为后续部署做准备。

基于AWS SAM的生产部署具体流程

1. 前置准备与本地验证

  • 确认template.yaml配置正确:比如Node.js Lambda函数的CodeUri指向构建后的产物目录,前端Vite项目对应的S3存储桶、CloudFront分发等资源已在模板中定义。
  • 本地执行npm run build,检查dist/目录下的产物是否完整:Node.js代码编译为JS文件,前端生成静态HTML、压缩后的CSS/JS。
  • 用sam local invoke测试Lambda函数逻辑,sam local start-api验证API网关的路由是否正常,确保本地运行无问题。

2. 部署配置

  • 在template.yaml中设置生产环境参数:比如Lambda的内存配额、超时时间,生产环境的环境变量(数据库连接字符串、第三方API密钥等),S3存储桶名称需保证全局唯一。
  • 可选:创建samconfig.toml文件,保存部署的固定配置(如AWS区域、生产栈名称),避免每次部署重复输入参数。

3. 自动化部署(生产环境推荐)

通过CI/CD流水线(如AWS CodePipeline、GitHub Actions)实现全自动化部署,步骤如下:

  • 触发条件:代码推送到main等生产分支时自动触发流水线。
  • 流水线核心步骤:
    1. 拉取代码:从版本库(GitHub、AWS CodeCommit等)拉取最新的生产分支代码。
    2. 安装依赖:执行npm ci(比npm install更适合生产,严格按照package-lock.json安装依赖,保证版本一致性)。
    3. 构建产物:运行npm run build生成可部署的代码和静态资源。
    4. SAM打包:执行sam package --s3-bucket <你的生产存储桶> --output-template-file packaged.yaml,将构建产物上传到S3,并生成包含资源路径的打包后模板。
    5. SAM部署:执行sam deploy --template-file packaged.yaml --stack-name <生产栈名称> --capabilities CAPABILITY_IAM,AWS会根据模板创建/更新所有生产资源,包括Lambda、API网关、S3、IAM角色等。
    6. 验证:调用API网关端点,访问前端页面,确认功能正常运行。

4. 生产环境运维

  • 监控:启用AWS CloudWatch,配置Lambda日志、API网关请求指标、S3访问日志的告警规则,及时发现异常。
  • 版本管理:利用SAM的版本发布功能,为Lambda函数创建版本和别名,方便后续的灰度发布和快速回滚。
  • 回滚:如果部署出现问题,可通过AWS CloudFormation的回滚功能,或执行sam deploy --rollback恢复到上一个稳定版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 14:05:17