code: def do_cli(function_identifier,  # pylint: disable=too-many-locals
             template,
             base_dir,
             build_dir,
             clean,
             use_container,
             manifest_path,
             docker_network,
             skip_pull_image,
             parameter_overrides,
             mode):
      
  
      LOG.debug("'build' command is called")
  
      if use_container:
          LOG.info("Starting Build inside a container")
  
      with BuildContext(function_identifier,
                        template,
                        base_dir,
                        build_dir,
                        clean=clean,
                        manifest_path=manifest_path,
                        use_container=use_container,
                        parameter_overrides=parameter_overrides,
                        docker_network=docker_network,
                        skip_pull_image=skip_pull_image,
                        mode=mode) as ctx:
          try:
              builder = ApplicationBuilder(ctx.functions_to_build,
                                           ctx.build_dir,
                                           ctx.base_dir,
                                           manifest_path_override=ctx.manifest_path_override,
                                           container_manager=ctx.container_manager,
                                           mode=ctx.mode)
          except FunctionNotFound as ex:
              raise UserException(str(ex))
  
          try:
              artifacts = builder.build()
              modified_template = builder.update_template(ctx.template_dict,
                                                          ctx.original_template_path,
                                                          artifacts)
  
              move_template(ctx.original_template_path,
                            ctx.output_template_path,
                            modified_template)
  
              click.secho("\nBuild Succeeded", fg="green")
  
              msg = gen_success_msg(os.path.relpath(ctx.build_dir),
                                    os.path.relpath(ctx.output_template_path),
                                    os.path.abspath(ctx.build_dir) == os.path.abspath(DEFAULT_BUILD_DIR))
  
              click.secho(msg, fg="yellow")
  
          except (UnsupportedRuntimeException, BuildError, UnsupportedBuilderLibraryVersionError,
                  ContainerBuildNotSupported) as ex:
              click.secho("\nBuild Failed", fg="red")
              raise UserException(str(ex))
docs: Implementation of the ``cli`` method