返回上一级
GitLab与Git与Webhook与宝塔的结合
安装git
生成密钥SSH-key
1git config --global user.name "mingzi" 2git config --global user.email "mingzi@qq.com" 3 4#注意替换为自己注册的邮箱 5ssh-keygen -t rsa -C "你注册gitlab的邮箱" 6#然后一路默认enter,即可生成密钥
gitlab添加SSH密钥 复制id_rsa.pub的内容到gitlab的ssh密钥中
测试Git与GitLGab是否畅通
1 ssh -T git@"你们公司或个人的gitLab域名" #如果出现Welcome说明成功,否则出错
宝塔安装webhook
填写Webhook执行脚本
1#!/bin/bash 2echo "" 3#输出当前时间 4date --date='0 days ago' "+%Y-%m-%d %H:%M:%S" 5echo "Start" 6#判断宝塔WebHook参数是否存在 7if [ ! -n "$1" ]; 8then 9 echo "param参数错误" 10 echo "End" 11 exit 12fi 13#git项目路径 14gitPath="/www/wwwroot/web/$1" 15#git 网址 16gitHttp="http://git.xxxxx.com/web/$1.git" 17 18echo "Web站点路径:$gitPath" 19 20#判断项目路径是否存在 21if [ -d "$gitPath" ]; then 22 cd $gitPath 23 #判断是否存在git目录 24 if [ ! -d ".git" ]; then 25 echo "在该目录下克隆 git" 26 git clone $gitHttp gittemp 27 mv gittemp/.git . 28 rm -rf gittemp 29 fi 30 #拉取最新的项目文件 31 git reset --hard origin/master 32 git pull 33 #设置目录权限 34 chown -R www:www $gitPath 35 echo "End" 36 exit 37else 38 echo "该项目路径不存在" 39 echo "End" 40 exit 41fi
编辑完成后 查看当前调用的网址:(希望 能直接生成调用网址 后面参数 param 为 shell 命令的变量 $1)
进入gitee仓库选择管理的webhooks添加新的webhook (密码可以不填)
添加成功后点击测试查看请求结果