赞
踩
时过境迁,原本以为不需要文档说明的操作,四年后的现在因为GitLab服务器的掉电损坏,被迫面对从零开始的一切,才发现实际执行时的一步一个坑。
痛定思痛之下,决定重新整理思维,于是便有了本文。
Gitee - gitChecker借鉴自SVNChecker, 简化GIT服务端的Hook功能实现,实现逻辑复用。
################ 1. clone gitchecker project cd /usr/local/ git clone https://gitee.com/lqzkcx3/gitchecker.git mv gitchecker _gitchecker ################ 2. install hook ########### 2.1 pre-commit # 基于全局hook cd /opt/gitlab/embedded/service/gitlab-shell/hooks mkdir pre-receive.d && cd $_ vi pre-commit.sh #!/bin/sh /usr/bin/python2.7 /usr/local/_gitchecker/Main.py PpreCommit || exit 1 chmod +x pre-commit.sh # 调整这个脚本的权限, 千万注意. 这里特意将这条命令单独列了出来. ########### 2.2 post-commit # 基于全局hook cd /opt/gitlab/embedded/service/gitlab-shell/hooks mkdir post-receive.d && cd $_ vi post-commit.sh #!/bin/sh /usr/bin/python2.7 /usr/local/_gitchecker/Main.py PostCommit || exit 1 chmod +x post-commit.sh # 调整这个脚本的权限, 千万注意. 这里特意将这条命令单独列了出来. ################ 3. 配置gitcheckerconfig.ini (详细说明参见底部参考链接) [Default] #This property tells gitchecker about all checks #(UnitTests, AccessRights, XMLValidator etc) it should execute. #Separated with comma (",") Main.PostCommitChecks=PushCommitMsgToZentao PushCommitMsgToZentao.FailureHandlers=Console PushCommitMsgToZentao.SuccessHandlers=Console ################ 4. 拷贝相应的hook脚本(这里以PushCommitMsgToZentao.py为例) cd /usr/local/_gitchecker cp checks_extend/PushCommitMsgToZentao.py checks/ ################ 5. 测试验证 cp /usr/local/_gitchecker/test/test-post-commit.sh ${gitLocalRespRootPath} chmod +x test-post-commit.sh ./test-post-commit.sh
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。