Git服务器端预接收钩子

时间:2018-11-26 21:20:09

标签: bash git server-side devops githooks

我正在将git pre-commit挂钩强制作为服务器端的预接收挂钩或更新挂钩,并且无法找到实现它的适当示例。

我能够成功实施/测试预提交挂钩

#!/bin/bash

echo "Running pre-commit hook" 
checks=($APPSETTING_DEVPASSWORD $APPSETTING_DEVUSER $APPSETTING_DEVPASS_ELMAH) # create an array

git diff --cached --name-status | while read flag file; do
    if [ "$flag" == 'D' ]; then continue; fi

for word in ${checks[@]}
do
    if egrep -q "$word" "$file"; then
        echo "ERROR: Disallowed expression \"${word}\" in file: ${file}" >&2
        exit 1
    fi
done
done

我正在尝试将其转换为服务器端钩子,在钩子中钩子应查找checks数组,如果差异包含checks数组中的值,则以1退出。

  

在线找到信息

Bitbucket服务器仅包含基本存储库,不包含本地存储库中的文件,因此,在推送时需要评估commit sha的差异。

有人可以帮助将其转换为服务器端git钩子吗?

0 个答案:

没有答案
相关问题