本文结合 部署 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 网站最终在哪里运行:
image.png2.2 选择 Application
这一步是选择 Application , 这里的Application 指的是 EB Application, 如果之前已经创建, 那么可以选择已有的, 如果没有创建, 则会新建一个。
image.png如果选择新建, 则需要输入新的 Applicantion Name
image.png
2.3 选择运行环境
这里会自动判断运行环境, 如果是python, 按照提示选择即可。
image.png2.4 创建完毕
创建完毕后, 你会发现多了一个目录 .elasticbeanstalk
image.png目录里有一个 config.yml 文件。 文件中存放着你刚才输入的选择, 另外还有一些选项目前还没有填, 下面会陆续补上。
image.png3 配置 EB 运行环境
这里的 “运行环境“ 不同与 2.3 的运行环境。 这里指的类似一个 VM 可以的环境。 如果EB 账号下已经有运行环境, 那么可以直接修改 config 文件中的
branch-defaults -> default -> environment
如果没有, 则需要新建一个运行环境:
eb create polydash-env
polydash-env 是我给我的环境起的名字, 大家可以按照实际需要修改成自己的名字。
这一步会花费几分钟, 成功以后会看到类似 Log
image.png
此时如果打开 config 文件,会看到 branch-defaults -> default -> environment 已经有值了。
image.png4 重新部署
如果是一个实际工程, 会涉及到反复修改, 部署的情况。 这时, 运行环境, Application 都已经配置好, 只需要重新部署即可。 这时可以用
eb deploy
image.png
EB 会自动将程序打包, 上传, 替换, 重启服务。
5 Best Practice
a. .elasticbeanstalk 需要在git 中保存, 可以帮助完成自动化的部署。
b. 修改部署方案时, 可以直接修改 Config 文件
网友评论