工作中的场景,记录下来分享给大家。
需求
公司私有部署了gitlab保存公司代码,希望在发布系统中可以展示项目在gitlab的提交历史,供发布人员选择提交commit记录并构建对应的docker镜像。
假设仓库地址:https://gitlab-team.tiantian.com/python/web.git。
不可行的方案
但是很快我就发现,这个方案是不可行的。
这个库实际上相当于git客户端,它必须把gitlab远程仓库的代码checkout到本地,然后才能执行类似git log命令的方式获取提交日志。
对于一个web应用来说,仅仅为了看一下提交历史就要把代码下载回来,显然是不合理的。
建议方案
解决方法是直接访问gitlab的API,它拥有所有的仓库,因此也可以快速的查看提交历史。
首先创建客户端:
Python
import gitlab
client = gitlab.Gitlab(https://gitlab-team.tiantian.com, private_token='XXXXXXXXXX', timeout=2, api_version='3')
1
2
3
importgitlab
client=gitlab.Gitlab(https://gitlab-team.tiantian.com,private_token='XXXXXXXXXX',timeout=2,api_version='3')
第一个参数:gitlab服务端地址