0

下面是我的代码。我在这门课上有问题。这不是完整的代码,而只是类。如果您最后检查 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)
4

0 回答 0