文章前言
每周五上午十二点前需要将项目上各组开发分支合并软集仓库分支, 需要在十个项目上进行 merge
程序员一般都是 很讨厌麻烦, 所以编写此脚本进行 批量 merge, 统一进行合并
另外, 如果项目经历上线或者修复 bug 等情况, 需要合并分支至 uat、release、master 等分支, 也是能够满足此脚本使用情况
类似于这种功能性脚本, 一般习惯使用 Python 来编写, 通过 GitLab 提供的 REST API 进行调用
GitLab 提供了非常丰富的 REST API 操作, 大家可以搜索官方网址查看
脚本思路
参考了网上大家提供的一部分脚本, 结合项目本身提供了此思路
- 在 GitLab 中获取个人令牌 Token
- 获取需要合并的项目 ID
- 获取需要合并项目的来源分支以及目标分支
- 验证 GitLab 对应的 Token 是否正确
- 进行合并请求, 失败会删除对应的合并请求
在网上找到的大部分执行不成功, 可能在之前是可以成功的, 但是随着 GitLab 的 API 3->4 升级, 网上大部分脚本都执行失败了
运行前准备
首先, 电脑上需要 安装 python3 运行环境, 将对应的 import 包依赖进行下载, 最重要的就是 获取令牌 Token
登陆进 GitLab 设置页面, 点击访问令牌
我设置了中文, 不过差别不大, Token 还是很好认的
依次输入 Token名称、Token有效期、以及对应的权限范围, 将对应的 Token 复制到对应的脚本就好了
具体实现代码
import urllib.request import gitlab # ========================================配置开始================================================= # "xxxx" # " > 正在合并项目 :: [%s] 的 [%s] 分支到 [%s] 分支" % (project_name, source_branch, target)) # mr合并请求的对象 mr = None try: # 创建 merge request mr = project.mergerequests.create({'source_branch': source_branch, 'target_branch': target, 'title': "Merge branch '%s' into '%s'" % ( source_branch, target) }) # 接受合并请求 url = '%s/api/v4/projects/%s/merge_requests/%s/merge' % (gitlab_url, project.id, mr.iid) print(' > Merge url :: [%s], title :: [%s] ' % (url, mr.title)) # 个人/项目访问令牌, 添加至请求头 headers = {"PRIVATE-TOKEN": token} req = urllib.request.Request(url=url, headers=headers, method="PUT") resp = urllib.request.urlopen(req) if resp.code == 200: print(" > 合并到目标分支 [%s] 成功, 结束... \r\n" % target) else: mr.delete() except Exception as e: print(" > 合并出错, 可能有冲突未解决或者 [%s] 分支并没有更新, 异常信息:: \r\n" % source_branch, str(e)) # 把创建的 merge 请求删除 mr.delete() if __name__ == "__main__": main()
总结
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 《暗喻幻想》顺风耳作用介绍
- 崔健1985-梦中的倾诉[再版][WAV+CUE]
- 黄子馨《追星Xin的恋人们2》HQ头版限量编号[WAV+CUE]
- 孟庭苇《情人的眼泪》开盘母带[低速原抓WAV+CUE]
- 孙露《谁为我停留HQCD》[低速原抓WAV+CUE][1.1G]
- 孙悦《时光音乐会》纯银CD[低速原抓WAV+CUE][1.1G]
- 任然《渐晚》[FLAC/分轨][72.32MB]
- 英雄联盟新英雄安蓓萨上线了吗 新英雄安蓓萨技能介绍
- 魔兽世界奥杜尔竞速赛什么时候开启 奥杜尔竞速赛开启时间介绍
- 无畏契约CGRS准星代码多少 CGRS准星代码分享一览
- 张靓颖.2012-倾听【少城时代】【WAV+CUE】
- 游鸿明.1999-五月的雪【大宇国际】【WAV+CUE】
- 曹方.2005-遇见我【钛友文化】【WAV+CUE】
- Unity6引擎上线:稳定性提升、CPU性能最高提升4倍
- 人皇Sky今日举行婚礼!电竞传奇步入新篇章