1.1、输入命令查看服务器是否存在密钥:
- cd ~/.ssh
-
- ls

id_xxx.pub的是公钥、id_xxx的是私钥
如果没有,就要先生成一下,生成ssh密钥参考https://gitee.com/help/articles/4181#article-header0
1.2、复制ssh公钥到码云公钥管理,
1.2.1、查看ssh公钥:
cat id_rsa.pub
1.2.2、把cat输出内容全部复制下来

1.2.3、打开gitee仓库主页--【管理】--【部署公钥管理】--【添加公钥】 ,添加公钥

1.2.4、【公钥管理】--【可部署公钥】--【启用】

2.1、安装webhook,宝塔面板--【软件管理】--【搜索webhook】,安装即可
2.2、添加webhook脚本

不要在windows系统编辑,会有换行符等问题
- #!/bin/bash
- echo ""
- echo "-----开始-----"
- #服务器git项目路径
- gitPath="/www/wwwroot/服务器git项目路径/"
- #码云git项目网址 一定要ssh
- gitHttp="码云git项目网址 ssh"
- 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/master
- git pull origin master
- echo "拉取完成"
- #设置目录权限
- chown -R www:www $gitPath
- echo "-----结束-----"
- exit
- else
- echo "该项目路径不存在"
- echo "End"
- exit
- fi
2.3、添加成功后查看密钥,添加gitee项目的webhook

webhook密码对应密钥,URL对应GET/POST地址

测试一下,如果线上是新建网站,没有.git文件夹,第一次会先克隆项目

配置完成,以后再推代码到仓库时会自动触发webhook,拉取最新项目代码
脚本如果执行不成功,就是脚本的标点符号问题,解决方法:
用vim打开脚本文件,在命令行模式下输入。如果还不行就再linux服务器或者宝塔编辑hook里手打一遍吧
- :set ff=unix
-
- :wq