2

我正在尝试将应用程序从一个 ElasticBeanstalk 实例部署到另一个实例。运行pip install awsebcli --upgrade --usereb由于某些奇怪的原因在 EC2 机器上没有安装cli 工具。

有谁知道eb deploy仅使用awscli 选项的等价物?

4

2 回答 2

4

这个问题有点令人困惑。您是否尝试在 Beanstalk 环境中的 EC2 实例之间移动代码?

如果我假设正确,您已经在一台 Beanstalk 主机上提取/更改了代码。现在您正尝试使用 EB CLI 将该更改传播到其他实例。这不是最佳做法。Beanstalk 具有将代码部署到所有实例的机制。

EB CLI 旨在从您的工作站运行,以将代码从您的 IDE/编辑器推送到 AWS 中的 Beanstalk 主机。

Beanstalk 在 S3 中保留该代码修订的副本。如果 Beanstalk 环境是负载平衡的,那么在发生扩展事件或部署时,所有实例都将运行相同的应用程序版本,因为它会从公共源中提取您的代码。

但要回答你的问题:

有谁知道仅使用 aws cli 选项相当于 eb deploy ?

您需要压缩并将您的代码上传到 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>"
于 2018-02-08T19:11:06.603 回答
0

读书好难...

Linux 要求您“[a] 将可执行文件的路径添加到 PATH 变量中”

export PATH=~/.local/bin:$PATH

eb --version现在工作

于 2018-02-08T18:49:14.800 回答