备注:还未亲自测试,但感觉可行!
1、进入网站目录,克隆仓库代码
1 2 3 4 | cd /www/wwwroot/ git clone http://192.168.3.141:8099/liujuncheng/test.git test chmod -R 777 test chown -R www:www test |
---|
2、设置git自动更新的钩子文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | cd /var/opt/gitlab/git-data/repositories/liujuncheng/test.git/hooks vi post-receive #文件内容,将原有的文件备份,并清空写入以下文件内容 #!/bin/bash #获取当前目录 DIR_NAME=$( cd $(dirname $BASH_SOURCE) && pwd) #创建数组,根据/进行分割 array=(${DIR_NAME//// }) #获取最后第二个元素 s_value=${array[${#array*}-2]} #创建数组,根据.进行分割 array2=(${s_value//./ }) #获取第一个元素 s2_value=${array20} #echo $s2_value #git --work-tree=/www/wwwroot/$s2_value checkout -f git --work-tree=/www/wwwroot/$s2_value clean -fd git --work-tree=/www/wwwroot/$s2_value checkout --force sudo chown -R www.www /www/wwwroot/$s2_value sudo chmod -R 777 /www/wwwroot/$s2_value |
---|
3、设置钩子文件的执行权限
1 | chmod x post-receive |
---|
4、将git用户放入www用户组
1 | usermod -a -G www git |
---|
5、让git无密码sudo
1 2 3 | vi /etc/sudoers #追加写入 git ALL=(ALL) NOPASSWD: ALL |
---|
原文链接:https://www.netljc.com/article/detail-173
未经允许不得转载:肥猫博客 » gitlab自动同步代码到web站点