用于备份或克隆Gitlab组的Gitlab clone/pull实用程序
gitlabber的Python项目详细描述
吉特拉伯
- 一个Gitlab克隆/拉工具来管理整个Gitlab树(组、子组、项目)*
目的
使用大型Gitlab设置时,通常需要驻留在感兴趣组中的项目子集。在
gitlaber允许您克隆组/子组子集下的所有项目。在
gitlaber从Gitlab服务器构建一个树结构,并允许您使用glob或regex表达式指定要克隆的树的哪个子集
这使得gitlaber适合于开发环境或备份场景
用法
- 参数可以通过CLI参数直接提供,也可以通过环境变量::
Argument Flag Environment Variable token -t GITLAB_TOKEN url -u GITLAB_URL method -m GITLABBER_CLONE_METHOD include -i GITLABBER_INCLUDE exclude -x GITLABBER_EXCLUDE
要查看树,请运行带有includes/excludes和-p标志的命令,它将按如下方式打印树
在
- 要了解如何使用glob模式和regex过滤树节点,请参见globre project page。在
- 印刷用法:
usage: gitlabber [-h][-t token][-u url][--verbose][-p][--print-format {json,yaml,tree}][-m {ssh,https}][-i csv][-x csv][--version][dest] Gitlabber - clones or pulls entire groups/projects tree from gitlab positional arguments: dest destination path for the cloned tree (created if doesn't exist) optional arguments: -h, --help show this help message and exit -t token, --token token gitlab personal access token https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html -u url, --url url gitlab url (e.g.: 'http://gitlab.mycompany.com') --verbose print more verbose output -p, --print print the tree without cloning --print-format {json,yaml,tree} print format (default: 'tree') -m {ssh,http}, --method {ssh,http} the method to use for cloning (either "ssh" or "http") -i csv, --include csv comma delimited list of glob patterns of paths to projects or groups to clone/pull -x csv, --exclude csv comma delimited list of glob patterns of paths to projects or groups to exclude from clone/pull --version print the version examples: clone an entire gitlab tree using a url and a token: gitlabber -t <personal access token> -u <gitlab url> only print the gitlab tree: gitlabber -p . clone only projects under subgroup 'MySubGroup' to location '~/GitlabRoot': gitlabber -i '/MyGroup/MySubGroup**' ~/GitlabRoot clone only projects under group 'MyGroup' excluding any projects under subgroup 'MySubGroup': gitlabber -i '/MyGroup**' -x '/MyGroup/MySubGroup**' . clone an entire gitlab tree except projects under groups named 'ArchiveGroup': gitlabber -x '/ArchiveGroup**' . clone projects that start with a case insensitive 'w' using a regular expression: gitlabber -i '/{[w].*}' .
调试
- 可以使用–verbose标志打印gitlaber调试消息
- 对于更详细的gitlab消息,可以通过设置环境变量使GitPython模块打印更多调试消息:
exportGIT_PYTHON_TRACE='full'
- 项目
标签: