code: def run(self):
      from dvc.repo.experiments.push import UploadError
  
      try:
          result = self.repo.experiments.push(
              self.args.git_remote,
              self.args.experiment,
              all_commits=self.args.all_commits,
              rev=self.args.rev,
              num=self.args.num,
              force=self.args.force,
              push_cache=self.args.push_cache,
              dvc_remote=self.args.dvc_remote,
              jobs=self.args.jobs,
              run_cache=self.args.run_cache,
          )
      except UploadError as e:
          self.log_result(e.result, self.args.git_remote)
          raise
  
      self.log_result(result, self.args.git_remote)
      if not self.args.push_cache:
          ui.write(
              "To push cached outputs",
              (
                  "for this experiment to DVC remote storage,"
                  "re-run this command without '--no-cache'."
              ),
          )
  
      return 0
  
file_path: dvc/dvc/commands/experiments/push.py
imports: from typing import Any, Dict
  from dvc.cli import completion, formatter
  from dvc.cli.command import CmdBase
  from dvc.cli.utils import append_doc_link
  from dvc.log import logger
  from dvc.ui import ui
label_desc: Use image node_id 2 for calling the CmdExperimentsPush obj's underlying member method code with example usage: obj.run() and returns: int