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. コードを再プッシュします
コードを直接プッシュして完了します。