我正在尝试将应用程序从一个 ElasticBeanstalk 实例部署到另一个实例。运行pip install awsebcli --upgrade --usereb
由于某些奇怪的原因在 EC2 机器上没有安装cli 工具。
有谁知道eb deploy
仅使用aws
cli 选项的等价物?
我正在尝试将应用程序从一个 ElasticBeanstalk 实例部署到另一个实例。运行pip install awsebcli --upgrade --usereb
由于某些奇怪的原因在 EC2 机器上没有安装cli 工具。
有谁知道eb deploy
仅使用aws
cli 选项的等价物?
这个问题有点令人困惑。您是否尝试在 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>"