🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
宝塔使用webhook更新同步服务器代码 安装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/master 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 ~~~ ** 第一步,检查本机是否存在 SSH key 如下图调出Git Bash 窗口,输入下面的命令  ls -al ~/.ssh ,如果有文件`id_rsa.pub` 或 `id_dsa.pub`,则直接进入步骤3将SSH key添加到GitHub中,否则进入第二步生成SSH key 第二步: 在命令行中输入ssh-keygen -t rsa -C "your_emial@examle.com" 默认会在相应路径下(/c/Users/Administrator/.ssh/id_rsa)生成id_rsa和id_rsa.pub 、known_hosts三个文件,如下面代码所示 ———————————————— 版权声明:本文为CSDN博主「jifenglie」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/jifenglie/article/details/100074250 ** 在码云中进行对应操作,找到对应项目,在'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 ~~~