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

如何仅通过AWS CLI实现eb deploy的等效部署操作?

使用AWS CLI替代EB CLI执行eb deploy的等效操作方法

没问题!既然EB CLI安装遇到了麻烦,咱们直接用AWS CLI来实现和eb deploy一样的效果就行。其实eb deploy背后就是做了两件事:把你的代码打包成Elastic Beanstalk应用版本,然后把这个版本部署到目标环境。咱们拆开来一步步操作:

第一步:打包代码并创建应用版本

首先得把你的应用代码打包成zip包(注意排除掉不需要的文件,比如.git目录、虚拟环境文件夹这些,避免增大包体积),然后用AWS CLI创建对应的应用版本:

  1. 先打包本地代码(根据你的项目结构调整排除规则):
zip -r app.zip . -x ".git/*" "venv/*" "node_modules/*"
  1. 创建Elastic Beanstalk应用版本,这里有两种方式:
    • 方式一:让AWS CLI自动把zip包上传到EB默认的S3桶(无需手动操作S3):
    aws elasticbeanstalk create-application-version \
        --application-name 你的应用名称 \
        --version-label v1.0.0  # 自定义版本标签,比如用日期或commit号
        --source-bundle fileb://app.zip \
        --auto-create-application  # 如果应用还没创建的话加这个参数,已创建可以去掉
    
    • 方式二:先手动把zip包上传到你自己的S3桶,再指定S3路径:
    # 先上传到S3
    aws s3 cp app.zip s3://你的S3桶名/apps/v1.0.0.zip
    
    # 创建应用版本
    aws elasticbeanstalk create-application-version \
        --application-name 你的应用名称 \
        --version-label v1.0.0 \
        --source-bundle S3Bucket=你的S3桶名,S3Key=apps/v1.0.0.zip
    

第二步:将应用版本部署到EB环境

创建好应用版本后,就可以把它部署到目标Elastic Beanstalk环境了:

aws elasticbeanstalk update-environment \
    --environment-name 你的EB环境名称 \
    --version-label v1.0.0  # 和上面创建版本时用的标签保持一致

额外的小提示

  • 权限配置:确保你的AWS CLI配置的IAM用户拥有足够的权限,至少需要elasticbeanstalk:CreateApplicationVersion和elasticbeanstalk:UpdateEnvironment权限,如果是用S3上传的话还需要s3:PutObject权限。
  • 同步环境变量:如果eb deploy之前会同步本地的环境变量配置,用AWS CLI可以通过--option-settings参数来设置,比如:
aws elasticbeanstalk update-environment \
    --environment-name 你的EB环境名称 \
    --option-settings Namespace=aws:elasticbeanstalk:application:environment,OptionName=DB_HOST,Value=your-db-host
  • 一键脚本:可以把打包、创建版本、部署的命令写成一个shell脚本,这样下次部署直接运行脚本就行,省得重复输入命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 06:52:49