当前位置: 首页 > 知识库问答 >
问题:

如何使用 aws cli 在弹性豆茎上上传和部署?

邓开济
2023-03-14

我的设置:-我在Dockerrun.aws.json文件中指定了一个多锁应用程序。-我的应用程序的图像存储在ECR上。

在Elastic Beanstalk的AWS控制台中,我可以“上传并部署”一个新的Dockerrun.AWS。json文件。然后弹性豆茎部署该版本。

是否可以通过aws elasticbeanstek命令行执行相同的操作(“上传和部署”)?

我找到的最接近的东西是aws elasticbeanstek reading-环境--inever-id$ENVIRONMENT_ID。但这只是使用现有的Dockerrun.aws.json文件重建现有环境。如果我想在cli中使用Dockerrun.aws.json文件的另一个版本部署我的环境怎么办?

共有1个答案

杜弘光
2023-03-14

是的,您可以使用AWS CLI创建一个新的部署,正如您所想,RebuildEnvironment不是API调用。您正在寻找三个调用的组合——一个调用S3,两个调用Beanstalk

>

  • 创建应用程序代码的zip文件
  • 将zip文件上传到S3。注意存储桶和密钥名称(这将使新版本可用于AWS,从而可用于Beanstek)
  • 执行对ElasticBeansta k的CreateApplication ationVersionAPI的调用:

    aws elasticbeanstalk create-application-version --application-name <beanstalk-app> --version-label <a unique label for this version of code> --description <description of your changes> --source-bundle S3Bucket="<bucket name previously noted",S3Key="<key name previously noted"
    

    执行对豆粒的更新环境 API 的调用:

    aws elasticbeanstalk update-environment --environment-name <name of environment> --version-label <label of app. version created above>
    

    显然,这很繁琐,因此我还建议您考虑通过EBCLI进行部署,它通过一个命令--eb deploy

  •  类似资料:
    • 假设我在Wordpress中创建了一个站点,它运行在Elastic Beanstalk上。现在,在运行的应用程序上,我将创建帖子/页面,上传图像等。也就是说,数据库中的一些数据、视频、文件和记录将被添加到运行的应用程序中。 从我在AWS控制台中看到的情况来看,我可以部署一个应用程序的不同版本--但是根据上面的场景,如果我部署了一个新版本,我会不会丢失直接上传到正在运行的应用程序中的所有文件(即文件

    • 我似乎不能强迫https在弹性Beanstalk的自由使用层上。 关于如何在amazon elastic beanstalk上强制https而又不通过健康检查,我尝试了以下建议 使用此Apache重写规则 当我这样做时,http请求不会像我想的那样被重定向到https。相反,http页会正常加载。我也尝试使用X-Forwarded-Port报头,得到了同样的结果。 我也试过下面的重写规则 而此规则

    • 我在elastic beanstalk上使用django进行开发,我想对apache配置做两个更改: 1.将www.domain.com重定向到domain.com 2.将http://domain.com重定向到https://domain.com 有人知道如何在弹性豆茎中添加重写吗?

    • 我有一个用Python 2.7/Tornado编写的服务器,我正在尝试将其部署到AWS上。我遇到了AWS弹性豆茎,它看起来是一种非常方便的方法来部署我的代码。 txt文件中有一个tornado==4.4.2的条目。 我尝试添加一些日志语句来写入外部文件,但该文件没有被创建,这可能意味着应用程序甚至没有启动。 如果有人能提供一些在AWS-EB上部署龙卷风应用程序的步骤,或者我应该如何开始解决这个问题

    • 我试图在AWS Elastic Beanstek上部署一个geodjango应用程序。配置是64位AmazonLinux2017.09 v2.6.6运行Python 3.6。尝试部署时我收到此错误: 如何安装所需的软件包?我通读了在AWS Beanstalk或EC2实例中使用GeoDjango支持设置Django,但是我仍然遇到问题。我的ebextensions目前看起来像:

    • 我对Amazazon Web服务提供的弹性IP服务的使用有点困惑。我想主要的想法是,按照以下简单的过程,我可以切换到web应用程序的新版本,而不会停机: null 抱歉,如果有些问题听起来很愚蠢,但我只是一个程序员,这是我第一次建立云系统。 谢谢!