- 安装依赖
pip install python-gitlab
# 官方库文档:https://python-gitlab.readthedocs.io/
# 版本
# python 3.9.6
# python-gitlab 6.0.0
-
获取Access Token
- 第一步

- 第二步

- 第三步

- 第四步

- 第一步
-
代码
import gitlab
import sys
import os
# 连接到gitlab,获取所有的项目
def get_projects(url, token):
print("获取项目中...")
try:
# 连接到GitLab服务器
gl = gitlab.Gitlab(url, private_token=token)
# 获取所有项目(仓库)
return gl.projects.list(all=True)
except Exception as err:
print("发生错误,错误信息:", err)
# 发生错误退出程序
sys.exit(1)
def save_project(pjt, directory):
print("开始处理:", pjt.name)
# 获取clone地址
git_clone_path = pjt.http_url_to_repo.replace("://", "://oauth2:" + gitlab_token + "@")
# clone命令
git_clone_command = "git clone " + git_clone_path
# 创建目录
save_project_path = os.path.join(directory, pjt.name_with_namespace.replace(" ", ""))
# 创建目录
os.makedirs(save_project_path)
# 执行命令
print("正在clone:", git_clone_command)
os.system(f"{git_clone_command} {save_project_path}")
if __name__ == '__main__':
# GitLab的URL
gitlab_url = "https://xxxxxxxxx/"
# 访问令牌(Personal Access Token)
gitlab_token = "xxxxxxxxxxxx"
# 文件存放目录
save_base_path = "E:\\xxx\\xx"
projects_list = get_projects(gitlab_url, gitlab_token)
for project in projects_list:
save_project(project, save_base_path)

930

被折叠的 条评论
为什么被折叠?



