安装git
```
yum install git
```
安装webhook插件
![](http://kanyun.imzibo.com/f347d81a4798e2c49c9c53044ae3b325)
添加shell脚本,如上图,点击添加,数据名称 和 执行脚本(此处执行脚本框中 直接输入shell脚本可能会被过滤,所以可以先随便添加点东西,然后再重新添加shell脚本),shell脚本如下,添加完后如上图所示:
```
#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
#判断宝塔WebHook参数是否存在
if [ ! -n "$1" ]; then
echo "param参数错误"
echo "End"
exit
fi
#git项目路径
gitPath="/www/wwwroot/$1"
#git 网址
gitHttp="https://gitee.com/imzibo/incms.git"
echo "Web站点路径:$gitPath"
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
cd $gitPath
#判断是否存在git目录
if [ ! -d ".git" ]; then
echo "在该目录下克隆 git"
git clone $gitHttp gittemp
mv gittemp/.git .
rm -rf gittemp
fi
#拉取最新的项目文件
#git reset --hard origin/2.0
git pull
#设置目录权限
#chown -R www:www $gitPath
echo "End"
exit
else
echo "该项目路径不存在"
echo "End"
exit
fi
```
点击查看密钥,获取地址http://面板/hook?...
![](http://kanyun.imzibo.com/625aa7c27da8b502579442c8c43cf688)
添加公钥
![](http://kanyun.imzibo.com/5fa04bf1006cd6faef7af73cec733140)
如何生成public key
```
cd root/.ssh
cat id\_rsa.pub
ssh-keygen
cat id\_rsa.pub
```
在码云中进行对应操作,找到对应项目,在'Webhooks设置'右侧点击添加,然后输入地址,默认选中Push,密码为空,提交。
![](http://kanyun.imzibo.com/465bbe9619808c7eb13e38b369707d5a)
![](http://kanyun.imzibo.com/67dfc720c99ebc467a4a18d4693059c2)
在登录服务器相关目录(wwwroot)用git命令 克隆一般码云中的代码:
```
git clone https://gitee.com/imzibo/incms.git incms
```
拉取项目代码测试一下(首次需要执行前两行命令)master为分支名称
```
git init
git remote add origin "你的码云或coding项目地址(ssh或https)"
git pull origin master
```
解决每次都需要输入密码的问题:(进行一次push or pull,输入一次密码以后就可以保存凭证了。)
```
git config --global credential.helper store
```