本文结合 部署 Plotly Dash 到 AWS Elastic Beanstalk 和 [上手] 利用AWS ElasticBeanstalk 部署 Flask 应用 , 总结了利用 EB CLI 的方法。利用此方法,可以实现 Plotly Dash 的自动化部署。
1 预备工作
1.1 安装 EB CLI
EB CLI 是可以在本地运行, Elastic Beanstalk 的 Command Line 程序。
Set up the Elastic Beanstalk Command Line Interface
1.2 配置 AWS Access Key
Managing access keys for IAM users
2 创建EB 本地配置
首先, 需要创建EB 的本地配置, 这一步的目的是生成一个本地的 EB 配置文件。 在命令行输入:
eb init
之后会有一堆提问
2.1 选择 Region
这一步是选择 Dash 网站最终在哪里运行:
![](https://img.haomeiwen.com/i25067830/ab677566941f5930.png)
2.2 选择 Application
这一步是选择 Application , 这里的Application 指的是 EB Application, 如果之前已经创建, 那么可以选择已有的, 如果没有创建, 则会新建一个。
![](https://img.haomeiwen.com/i25067830/6cdc183848e9b870.png)
如果选择新建, 则需要输入新的 Applicantion Name
![](https://img.haomeiwen.com/i25067830/4d9dcc5d16f4e9e8.png)
2.3 选择运行环境
这里会自动判断运行环境, 如果是python, 按照提示选择即可。
![](https://img.haomeiwen.com/i25067830/c0db09226be20aeb.png)
2.4 创建完毕
创建完毕后, 你会发现多了一个目录 .elasticbeanstalk
![](https://img.haomeiwen.com/i25067830/c4f424590d4cad3d.png)
目录里有一个 config.yml 文件。 文件中存放着你刚才输入的选择, 另外还有一些选项目前还没有填, 下面会陆续补上。
![](https://img.haomeiwen.com/i25067830/005d685aeac00c5e.png)
3 配置 EB 运行环境
这里的 “运行环境“ 不同与 2.3 的运行环境。 这里指的类似一个 VM 可以的环境。 如果EB 账号下已经有运行环境, 那么可以直接修改 config 文件中的
branch-defaults -> default -> environment
如果没有, 则需要新建一个运行环境:
eb create polydash-env
polydash-env 是我给我的环境起的名字, 大家可以按照实际需要修改成自己的名字。
这一步会花费几分钟, 成功以后会看到类似 Log
![](https://img.haomeiwen.com/i25067830/33b79fe805f37f83.png)
此时如果打开 config 文件,会看到 branch-defaults -> default -> environment 已经有值了。
![](https://img.haomeiwen.com/i25067830/86488e835271d04d.png)
4 重新部署
如果是一个实际工程, 会涉及到反复修改, 部署的情况。 这时, 运行环境, Application 都已经配置好, 只需要重新部署即可。 这时可以用
eb deploy
![](https://img.haomeiwen.com/i25067830/94e49495e99336a7.png)
EB 会自动将程序打包, 上传, 替换, 重启服务。
5 Best Practice
a. .elasticbeanstalk 需要在git 中保存, 可以帮助完成自动化的部署。
b. 修改部署方案时, 可以直接修改 Config 文件
网友评论