def do_command()

in ebcli/controllers/deploy.py [0:0]


    def do_command(self):
        self.nohang = self.app.pargs.nohang
        self.timeout = self.app.pargs.timeout
        if self.nohang:
            self.timeout = 0

        if self.app.pargs.modules:
            self.multiple_app_deploy()
            return

        self.message = self.app.pargs.message
        self.staged = self.app.pargs.staged
        self.source = self.app.pargs.source
        self.archive = self.app.pargs.archive
        if self.archive and not self.app.pargs.region:
            raise InvalidOptionsError(strings['deploy.archivewithoutregion'])
        if self.source and self.archive:
            raise InvalidOptionsError(strings['deploy.archivewithsource'])

        self.env_name = self.app.pargs.environment_name
        if self.archive and not self.env_name:
            raise InvalidOptionsError(strings['deploy.archivewithoutenvname'])
        elif not self.archive:
            self.env_name = self.env_name or self.get_env_name()

        if self.archive:
            environment = elasticbeanstalk.get_environment(env_name=self.env_name)
            self.app_name = environment.app_name
        else:
            self.app_name = self.get_app_name()

        self.version = self.app.pargs.version
        if self.version and self.archive:
            raise InvalidOptionsError(strings['deploy.archivewithversion'])

        self.label = self.app.pargs.label
        self.process = self.app.pargs.process
        group_name = self.app.pargs.env_group_suffix

        _check_env_lifecycle_state(self.env_name)

        if self.version and (self.message or self.label):
            raise InvalidOptionsError(strings['deploy.invalidoptions'])

        process_app_versions = fileoperations.env_yaml_exists() or self.process

        source_bundle_zip = None
        if self.archive:
            source_bundle_zip = get_or_create_source_bundle(archive=self.archive, label=self.label)
            self.label = self.label or source_bundle_zip.split(path.sep)[-1]

        deployops.deploy(self.app_name, self.env_name, self.version, self.label,
                         self.message, group_name=group_name, process_app_versions=process_app_versions,
                         staged=self.staged, timeout=self.timeout, source=self.source,
                         source_bundle=source_bundle_zip)