## 前提条件
- CentOS 系统
- Git 环境 安装 : yum install -y git
## 部署步骤
### 1. 在服务器生成/添加SSH公钥
```
# 生成
ssh-keygen -t rsa
# 查看
cat ~/.ssh/id_rsa.pub
# 首次使用需要确认并添加主机到本机SSH可信列表
ssh -T git@gitee.com
```
来源:https://gitee.com/help/articles/4181#article-header0
### 2. 复制密钥,添加到git公钥管理中
### 3. 在服务器找到web目录
`cd /www/wwwroot`
### 4. 克隆GIT代码
```
clone git@gitee.com:niuteam/niushop_b2c_v4.git www.b2c.com
```
git@gitee.com:niuteam/niushop_b2c_v4.git(是git地址)
www.b2c.com(是目录名称)
### 5. 切换git分支
根据需要,切换到自己所使用的分支
```
# 拉取远程分支
git checkout -b 本地分支名 origin/远程分支名
# 切换到指定分支,并更新工作区
$ git checkout [branch-name]
```
### 6. 宝塔webhook设置
![](https://img.kancloud.cn/6d/43/6d43124d17c5012fe48f2ad7008e57b6_1183x541.png)
git拉取调用的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/bjgy.niuteam.cn"
#git 网址
gitHttp="git@gitee.com:niuteam/beijing-guanyi.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/demo
git pull origin master
#根据需要,拉取自己使用的分支
#设置目录权限
chown -R www:www $gitPath
echo "End"
exit
else
echo "该项目路径不存在"
echo "End"
exit
fi
```
### 7. 码云设置webhook调用链接
![](https://img.kancloud.cn/61/83/6183b924c7e6f69333fcc3a3c9cf1a3c_885x572.png)
![](https://img.kancloud.cn/ef/02/ef026723f6d91a4c0919588d13ed984e_1000x709.png)
### 8. webhook部署完成,设置文件权限,进行web访问