Scm客户端 :param scm_type: "git" 或者 "svn" :param scm_url: 代码库地址 :param source_dir: 当前机器代码已拉取或待拉取的存放目录,如果指定目录路径不存在,会自动创建该目录。 :param scm_username: 拉取代码的用户名 :param scm_password: 拉取代码的密码 :param **kwargs: 可选参数: ssh_file: 代码库的SSH密钥路径
(scm_type, scm_url, source_dir, scm_username=None, scm_password=None, **kwargs)
| 26 | |
| 27 | |
| 28 | def ScmClient(scm_type, scm_url, source_dir, scm_username=None, scm_password=None, **kwargs): |
| 29 | """Scm客户端 |
| 30 | |
| 31 | :param scm_type: <str> "git" 或者 "svn" |
| 32 | :param scm_url: <str> 代码库地址 |
| 33 | :param source_dir: <str> 当前机器代码已拉取或待拉取的存放目录,如果指定目录路径不存在,会自动创建该目录。 |
| 34 | :param scm_username: <str> 拉取代码的用户名 |
| 35 | :param scm_password: <str> 拉取代码的密码 |
| 36 | :param **kwargs: <dict> 可选参数: |
| 37 | ssh_file: <str> 代码库的SSH密钥路径 |
| 38 | stdout_filepath: <str> CmdScm执行命令标准输出内容写入的文件,默认值为cmdsvn_stdout.log/cmdgit_stdout.log,显式声明None表示不输出 |
| 39 | stderr_filepath: <str> CmdScm执行命令标准错误内容写入的文件,默认值为cmdsvn_stderr.log/cmdgit_stderr.log,,显式声明None表示不输出 |
| 40 | print_enable: <boolean> CmdScm执行命令标准输出内容和标准错误内容是否打印,True表示打印,False表示打印,默认为False |
| 41 | :return ICmdScm: Scm客户端 |
| 42 | """ |
| 43 | _parmes = ICmdScm.ScmParmes(scm_url, source_dir, scm_username, scm_password) |
| 44 | if str(scm_type).upper() == ICmdScm.SVN: |
| 45 | scm_client = CmdSvn(_parmes, **kwargs) |
| 46 | elif str(scm_type).upper() in [ICmdScm.GIT, ICmdScm.TGIT]: |
| 47 | scm_client = CmdGit(_parmes, **kwargs) |
| 48 | else: |
| 49 | raise NotImplementedError("%s not supported" % scm_type) |
| 50 | assert isinstance(scm_client, ICmdScm) |
| 51 | return scm_client |
| 52 | |
| 53 | |
| 54 | if __name__ == "__main__": |
no outgoing calls
no test coverage detected