下面是我的代码。我在这门课上有问题。这不是完整的代码,而只是类。如果您最后检查 if/else 条件,我将调用类外的函数“check_deployment_update_status(job_id)”。我在那里遇到问题。
我的代码运行良好,直到该行。但在那之后我没有从那个函数中得到输出。所以,我认为这个函数最后没有被调用。任何人都可以帮助为什么在 if/else 操作函数没有被调用之后。
仅供参考 - 我的代码所做的是,这个代码在 lambda 中,它集成在代码管道中。此函数用于从 codepipeline 通过 lambda 部署到 Elastic beanstalk。我正在尝试集成可以继续 lambda 的 continue 令牌,因此 lambda 可以检查它已完成、正在运行或失败的工作状态。如果有人以前用 codepipeline 和 lambda 做过这个,请发表评论。
class Env():
def start_deployment(self,job_id,cpname):
EB1 = cpname+"1"
EB2 = cpname+"2"
print EB1
print EB2
if cpname.endswith("dev"):
NewEnvName = cpname.replace('dev','qa')
elif cpname.endswith("qa"):
NewEnvName = cpname.replace('qa','stage')
elif cpname.endswith("stage"):
NewEnvName = cpname.replace('stage','prod')
NewEB1 = NewEnvName+"1"
NewEB2 = NewEnvName+"2"
EnvEB1 = client.describe_environments(
EnvironmentNames=[EB1]
)
print EnvEB1
EnvEB2 = client.describe_environments(
EnvironmentNames=[EB2])
print EnvEB2
if EnvEB1['Environments']:
cnameEB1 = EnvEB1['Environments'][0].get('CNAME')
print cnameEB1
if '-blue' in cnameEB1:
CheckVersion = EB2
App_Version = client.describe_environments(EnvironmentNames=[CheckVersion])
print App_Version
VersionLabel = App_Version['Environments'][0]['VersionLabel']
print VersionLabel
elif '-green' in cnameEB1:
CheckVersion = EB1
App_Version = client.describe_environments(EnvironmentNames=[CheckVersion])
print App_Version
VersionLabel = App_Version['Environments'][0]['VersionLabel']
print VersionLabel
EnvEB1 = client.describe_environments(
EnvironmentNames=[NewEB1]
)
print EnvEB1
EnvEB2 = client.describe_environments(
EnvironmentNames=[NewEB2])
print EnvEB2
self.Env = ""
if EnvEB1['Environments']:
cnameEB1 = EnvEB1['Environments'][0].get('CNAME')
print cnameEB1
if '-blue' in cnameEB1:
self.Env = NewEB1
print self.Env
update_env = client.update_environment(
EnvironmentName = self.Env,
VersionLabel = VersionLabel)
print update_env
check_deployment_update_status(job_id)
elif '-green' in cnameEB1:
self.Env = NewEB2
print self.Env
update_env = client.update_environment(
EnvironmentName = self.Env,
VersionLabel = VersionLabel)
print update_env
check_deployment_update_status(job_id)