gitlab中配置全局钩子

设置全局pre-receive hooks

vi /etc/gitlab/gitlab.rb
#打开下面配置
gitaly['custom_hooks_dir'] = "/var/opt/gitlab/gitaly/custom_hooks"
#保存退出
#创建钩子目录
mkdir -p /var/opt/gitlab/gitaly/custom_hooks/pre-receive.d
cd /var/opt/gitlab/gitaly/custom_hooks/pre-receive.d

创建钩子

vi git-commit-message-check

复制一下内容并保存

#!/bin/bash

zeroCommit='0000000000000000000000000000000000000000'
mergeRegex='^(Merge)(.+)'
contentRegex='^(init|feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\(.+\))?(: .{1,})?'

while read -r oldrev newrev refname; do
    # 未提交的分支为tag不检测
    [ "$newrev" = "$zeroCommit" ] && continue
    [ "$oldrev" = "$zeroCommit" ] && range="$newrev" || range="$oldrev..$newrev"

    for commit in $(git rev-list "$range" --not --all); do
        user=$(git log --pretty=format:"%an" $commit -1)
        commitDate=$(git log --pretty=format:"%cd" $commit -1)
        msg=$(git log --pretty=format:"%s" $commit -1)
        flagMerge=$(echo $msg | grep -E "$mergeRegex")
        flagPush=$(echo $msg | grep -E "$contentRegex")
        
        if [ -z "$flagPush" ] && [ -z "$flagMerge" ]; then
            echo "[ERROR]日志:$msg"
            echo "[ERROR]提交信息检查不通过,请按照规范修改后重新提交"
            echo "[ERROR]提交者:$user"
            echo "[ERROR]提交日期:$commitDate"
            echo "[ERROR]$commit in ${refname#refs/heads/}"
            exit 1
        fi
    done
done

给钩子附执行权限

chmod +x git-commit-message-check

结果查看

提交项目文件,通过返回日志可以查看结果,或者
查看日志文件
/var/log/gitlab/gitaly/current

Gitaly配置文件的路径 (默认为/var/opt/gitlab/gitaly/config.toml)可通过此文件查看项目中一些基础目录的配置

相关推荐

  1. gitlab配置全局钩子

    2024-06-08 07:32:03       9 阅读
  2. Git配置钩子使用

    2024-06-08 07:32:03       42 阅读
  3. React的useMemo钩子

    2024-06-08 07:32:03       39 阅读
  4. React的useSearchParams钩子

    2024-06-08 07:32:03       38 阅读
  5. antd-vue - - - - - a-config-provider全局配置英文切换

    2024-06-08 07:32:03       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-08 07:32:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-08 07:32:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-08 07:32:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-08 07:32:03       18 阅读

热门阅读

  1. k8s更改master节点IP

    2024-06-08 07:32:03       8 阅读
  2. Vue3 响应式 API:工具函数(一)

    2024-06-08 07:32:03       7 阅读
  3. 在 VSCode 中搭建 Flutter 开发环境并运行项目

    2024-06-08 07:32:03       9 阅读
  4. flutter文件分类模板之modules

    2024-06-08 07:32:03       8 阅读
  5. Docker 容器中运行Certbot获取和管理 SSL 证书

    2024-06-08 07:32:03       9 阅读
  6. 【leetcode】LRU & LFU

    2024-06-08 07:32:03       8 阅读
  7. 力扣1574.删除最短的子数组使剩余数组有序

    2024-06-08 07:32:03       8 阅读
  8. setattr前端接收方法深度解析

    2024-06-08 07:32:03       6 阅读
  9. VmWare的网络配置说明

    2024-06-08 07:32:03       8 阅读
  10. WPF添加动画过渡效果

    2024-06-08 07:32:03       8 阅读
  11. 2024华为OD机试真题-出租车计费-C++(C卷D卷)

    2024-06-08 07:32:03       9 阅读
  12. Android系统中xml的解压与压缩

    2024-06-08 07:32:03       11 阅读
  13. 京准电子 GPS网络时间服务器为工业4.0保驾护航

    2024-06-08 07:32:03       7 阅读