Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何触发弹性豆茎重新部署?_Amazon Web Services_Amazon Elastic Beanstalk - Fatal编程技术网

Amazon web services 如何触发弹性豆茎重新部署?

Amazon web services 如何触发弹性豆茎重新部署?,amazon-web-services,amazon-elastic-beanstalk,Amazon Web Services,Amazon Elastic Beanstalk,从AWS内部触发弹性Beanstalk重新部署的最简单方法是什么 目标是根据ALB/目标组规则,以有序的方式重新启动所有实例 目前,我通过EB shell在本地执行此操作,方法是调用EB deploy,而不进行任何代码更改。但是,我不想定期手动执行此操作,而是希望使用CloudWatch作业通过计划触发它。一种方法是设置CloudWatch规则 该规则将根据您定义的时间表触发lambda。lambda可以简单到只触发现有应用程序的重新部署: import json import boto3 e

从AWS内部触发弹性Beanstalk重新部署的最简单方法是什么

目标是根据ALB/目标组规则,以有序的方式重新启动所有实例


目前,我通过EB shell在本地执行此操作,方法是调用
EB deploy
,而不进行任何代码更改。但是,我不想定期手动执行此操作,而是希望使用CloudWatch作业通过计划触发它。

一种方法是设置CloudWatch规则

该规则将根据您定义的时间表触发lambda。lambda可以简单到只触发现有应用程序的重新部署:

import json
import boto3

eb = boto3.client('elasticbeanstalk')


def lambda_handler(event, context):
    
    response = eb.update_environment(
        ApplicationName='<your-eb-app-name>',
        EnvironmentName='<your-eb-env-name>',
        VersionLabel='<existing-label-of-application-version-to-redeply')
        
    print(response)
导入json
进口boto3
eb=boto3.客户(“elasticbeanstalk”)
def lambda_处理程序(事件、上下文):
响应=eb.update\u环境(
应用程序名称=“”,
环境名称=“”,

VersionLabel='一种方法是设置CloudWatch规则

该规则将根据您定义的时间表触发lambda。lambda可以简单到只触发现有应用程序的重新部署:

import json
import boto3

eb = boto3.client('elasticbeanstalk')


def lambda_handler(event, context):
    
    response = eb.update_environment(
        ApplicationName='<your-eb-app-name>',
        EnvironmentName='<your-eb-env-name>',
        VersionLabel='<existing-label-of-application-version-to-redeply')
        
    print(response)
导入json
进口boto3
eb=boto3.客户(“elasticbeanstalk”)
def lambda_处理程序(事件、上下文):
响应=eb.update\u环境(
应用程序名称=“”,
环境名称=“”,

VersionLabel='实际上有一个名为的功能,可以在不部署新应用程序版本的情况下替换实例

对于我的用例来说,通过CloudWatch作业调度的Lambda函数触发它似乎是最简单、最干净的方法。但是,请记住,替换实例与重新启动/重新部署实例不同,例如在管理突发信用时


本AWS介绍了如何使用AWS Lambda设置定时实例刷新。

实际上有一个名为的功能,可以在不部署新应用程序版本的情况下替换实例

对于我的用例来说,通过CloudWatch作业调度的Lambda函数触发它似乎是最简单、最干净的方法。但是,请记住,替换实例与重新启动/重新部署实例不同,例如在管理突发信用时


本AWS介绍了如何使用AWS Lambda设置定时实例刷新。

重新部署现有应用程序,或部署新版本?重新部署现有版本。我只需要有序地重新启动实例。重新部署现有应用程序,或部署新版本?重新部署正在列出版本。我只需要以有序的方式重新启动实例。据我所知,
VersionLabel
必须指定为最新版本。是否有像
$LatestVersion
这样的占位符,以便我不必显式指定版本?@Manuel不确定。标签是您想要的。所以我想您可以d始终在同一标签下部署。虽然这必须经过测试才能确定是否可行。感谢您的回答,我不接受它,因为我找到了一种更简单的方法,请参阅我自己的答案。我以前从未听说过该功能,可能在您编写此答案时它甚至不可用。@Manuel Ok。但您的解决方案终止了实例并启动新的实例,这比重新部署应用程序版本要慢得多。这是您所要求的,而不是关于如何终止实例并启动新实例。这是一个很好的观点。我重新接受了您的答案,因为它更具体地回答了我的问题,而不是重写了我的问题。在我的情况下,时差很小,但是t您是对的,重新启动/重新部署实例与替换实例并不相同,只需考虑丢失的突发信用等。据我所知,
VersionLabel
必须指定为最新版本。是否有类似于
$LatestVersion
的占位符,因此我不必显式指定版本?@Manuel notsure。标签就是你想要的。所以我想你可以一直在同一个标签下部署。虽然这需要进行测试才能确定是否可行。谢谢你的回答,我没有接受它,因为我找到了一个更简单的方法,请看我自己的答案。我以前没有听说过这个功能,也许在你写这篇文章时它甚至不可用答案是。@Manuel Ok。但您的解决方案终止实例并启动新实例,这比重新部署应用程序版本慢得多。这是您所要求的,不是关于如何终止实例并启动新实例。这是一个很好的观点。我重新接受了您的答案,因为它更具体地回答了我的问题,而不是重写我的问题是,在我的例子中,时间差是很小的,但你是对的,重新启动/重新部署实例与替换实例并不相同,只考虑丢失的突发信用等等。