Gitlab は送信コメントを制限するように Webhook を設定します

1. gitlab関連の設定項目を開きます

vim /etc/gitlab/gitlab.rb

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

2. 関連フォルダーを作成する

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

#関連するスクリプトを対応するディレクトリに配置します

#!/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()

3. 設定を有効にする

gitlab-ctl の再構成

効果:

1. コードを送信する形式は、たとえば「jira プロジェクトの課題番号、コメント情報」です。

git commit -m "SMGJ-120、テストコミットコード"

注釈情報は中国語または英語でも構いませんが、赤字の文字は10文字以上でなければなりません。

 

コメント情報は6ワードなので横取りされ、エラーレポートには「remote: your commit msg should like: TEST-123、間違った注意を修正してください」という例も記載されています。

2. コメントを変更してコードを再送信します。

git commit --amend を使用する

コメント情報を「SMGJ-120、テスト提出コード テスト提出コード」に修正

 

3. コードを再プッシュします

コードを直接プッシュして完了します。

 

 Golang が gitlab コミットアノテーション検証フックを実装 - Jianshu

おすすめ

転載: blog.csdn.net/waysoflife/article/details/133359831