我试图将应用程序从一个ElasticBeanstalk实例部署到另一个实例。由于某些奇怪的原因,运行pip install awsebcli --upgrade --user并未在EC2计算机上安装eb
cli工具。
是否有人仅使用eb deploy
cli选项知道aws
的等效内容?
答案 0 :(得分:2)
这个问题有点令人困惑。您是否尝试在Beanstalk环境中的EC2实例之间移动代码?
如果我假设正确,您已经在一个Beanstalk主机上提取/更改了代码。现在,您正尝试使用EB CLI将该更改传播到其他实例。 这不是最佳做法。 Beanstalk有一种机制可以将代码部署到所有实例。
EB CLI旨在从您的工作站运行,以将代码从IDE /编辑器推送到AWS中的Beanstalk主机。
Beanstalk在S3中保留该代码修订的副本。如果Beanstalk环境是负载平衡的,那么在扩展事件或部署时,所有实例都将运行相同的应用程序版本,因为它会从公共源中提取代码。
但要回答你的问题:
是否有人只使用aws cli选项知道eb deploy的等效内容?
你想要ZIP并将你的代码上传到S3,并记下它所在位置的S3键和存储桶值。
然后创建一个新的应用程序版本。
% aws elasticbeanstalk create-application-version --application-name="<APPLICATION_NAME>" --version-label="<NEW_VERSION_LABEL>" --source-bundle="{\"S3Bucket\": \"<S3_BUCKET_NAME>\",\"S3Key\": \"<S3_KEY>\"}"
然后将新的应用程序版本部署到正在运行的环境中。
% aws elasticbeanstalk update-environment --environment-id="<ENVIRONMENT_ID>" --version-label="<NEW_VERSION_LABEL>"
答案 1 :(得分:0)
阅读很难......
Linux要求您"[a]dd the path to the executable file to your PATH variable"
export PATH=~/.local/bin:$PATH
eb --version
现在有效