如何在弹性豆茎上更新 python Flask 应用程序?

Posted

技术标签:

【中文标题】如何在弹性豆茎上更新 python Flask 应用程序?【英文标题】:How can I update a python Flask app on elastic beanstalk? 【发布时间】:2016-03-03 02:22:41 【问题描述】:

这是我在 AWS 上的第一个 python-Flask 应用程序。它引起了头痛。

我遵循的程序是:

mkdir myapp && cd myapp
virtualenv venv
source venv/bin/activate
pip install Flask SQLAlchemy twilio psycopg2 
pip freeze > requirements.txt
mkdir .ebextensions
cd .ebxtensions
nano application.config #content of this file below
packages:
  yum:
    postgresql93-devel: []

option_settings:
  - option_name: MANDRILL_APIKEY
    value: my_value
  - option_name: MANDRILL_USERNAME
    value: my_email_address
cd ..
deactivate
eb init
eb create

在经历了一系列问题(包括选项设置和 psycopg2)之后,上述方法奏效了。

现在的问题是当我在本地计算机上对应用程序进行更改时如何更新。我试过如下:

git init
eb init
git add .
git commit -m "my first update"
git aws.push

这不起作用并返回错误消息,指出"git aws.push" 不是合法命令(或类似命令)。我也试过"eb push"

这里有两个问题:

    为什么上面的 git 过程会失败? 将更新或更改推送到弹性豆茎的正确方法是什么?

谢谢你,所有的帮助都感激不尽。

【问题讨论】:

【参考方案1】:

如果您使用的是最新 (3+) 版本的 Elastic Beanstalk 命令行工具,则推送更新的方式是“eb deploy”。早期版本使用“eb push”。

【讨论】:

但是每次我运行 eb deploy 我都会丢失我的本地数据库(在 sqlite 中为我的烧瓶应用程序创建)。如何防止丢失我的数据库?

以上是关于如何在弹性豆茎上更新 python Flask 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在弹性豆茎上强制 https?

如何在弹性豆茎上安装 ng

在弹性豆茎上运行 knex 迁移

如何让 phantomjs 安装在弹性豆茎上?

在弹性豆茎上创建环境时出现 502

无法在弹性豆茎上加载带有瓶子的静态文件