一、配置 SSH 公密
将公钥配置到码云
打开码云的项目地址
管理-添加公钥
二、将项目拉取到云服务器
切换到项目目录
git clone git@gitee.com:xxxx/xxxxxxxx.git
三、宝塔安装 webhook
软件商品搜索:WebHook
添加 Hook
名称填写项目名称
执行脚本如下
记得修改项目路径
sudo git pull,必须使用 sudo
#!/bin/bash
echo '代码更新:' $(date '+%Y-%m-%d %H:%M:%S')
cd 项目路径
sudo git pull
chown -R www:www ./
chmod -R 755 ./
echo "更新成功"
四、配置 gitee WebHook
打开宝塔配置的 hook:查看密钥
将 WebHook 配置到码云
打开码云的项目地址
管理-WebHooks
将链接和密钥分别粘贴后,点击添加
注意:链接后面的参数可以变化,比如 param=pull,脚本可以根据这个参数来判断是否执行
#!/bin/bash
echo '代码更新:' $(date '+%Y-%m-%d %H:%M:%S')
if test $1 = 'web'
then
cd /mnt/wwwroot/jph/prod/web
else
cd /mnt/wwwroot/jph/prod/api
fi
sudo git pull
chown -R www:www ./
chmod -R 755 ./
sudo git status
sudo git add -A
sudo git commit -m 'linux'
sudo git push
echo "更新成功"
elif
if test $1 = 'web'
then
cd /mnt/wwwroot/bsjr/prod/web
elif test $1 = 'api'
then
cd /mnt/wwwroot/bsjr/prod/api
else
cd /mnt/wwwroot/bsjr/prod/wss
fi
五、测试同步
本地提交代码
宝塔 WebHook 的调用次数会 +1
码云的 WebHooks 会日志