ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

gitlab配置webhook限制提交注释

2022-02-21 16:04:18  阅读:358  来源: 互联网

标签:sys hooks gitlab webhook custom 注释 etc subprocess


一、打开gitlab相关配置项

vim /etc/gitlab/gitlab.rb

gitlab_shell['custom_hooks_dir'] = "/etc/gitlab/custom_hooks"

 

二、创建相关文件夹

mkdir -p /etc/gitlab/custom_hooks

mkdir -p /etc/gitlab/custom_hooks/post-receive.d

mkdir -p /etc/gitlab/custom_hooks/pre-receive.d

mkdir -p /etc/gitlab/custom_hooks/update.d

 

#将相关脚本放入对应目录

参考文档:https://docs.gitlab.com/ee/administration/server_hooks.html

https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks#Server-Side-Hooks

 

#!/usr/bin/env  python3
import sys
import re
import subprocess
#import redis
refname = sys.argv[1]
oldrev  = sys.argv[2]
newrev  = sys.argv[3]



regex='([a-zA-Z0-9]+-\\d+)\\,\\s+.{10,}'


def check_message_format():
	cmd='git rev-list '+oldrev+'..'+newrev
	print(cmd)
	p = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
	l= p.stdout.readlines()
	for rev in l:
		cmdsub="git cat-file commit "+rev.decode().strip('''\n''')+"  | sed '1,/^$/d'"
		p1 = subprocess.Popen(cmdsub,shell=True,stdout=subprocess.PIPE)
		l1 = p1.stdout.readline()
		print(l1)
		result = re.match('([a-zA-Z0-9]+-\\d+)\\,\\s+.{10,}',l1.decode())
		if result == None:
			 print("your commit msg should like : TEST-123,  fix the wrong caution")
			 sys.exit(1)
	sys.exit(0) 
check_message_format()

 

三、使配置生效

gitlab-ctl reconfigure

标签:sys,hooks,gitlab,webhook,custom,注释,etc,subprocess
来源: https://www.cnblogs.com/breeze-24/p/15919224.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有