虚拟主机域名注册-常见问题虚拟主机问题 → 虚拟主机问题

宝塔Webhook自动同步Git仓库方法

  一、在宝塔面板中的软件中安装”宝塔WebHook”,没有安装的直接点安装就行

如何使用宝塔Webhook自动同步Git仓库插图

  二、生成公钥(私有仓库一定要配置)

  直接根据提示,回车下一步就行

  ssh-keygen -t rsa

如何使用宝塔Webhook自动同步Git仓库插图1

  三,查看公钥,并复制到码云gitee仓库

  cat /root/.ssh/id_rsa.pub

如何使用宝塔Webhook自动同步Git仓库插图2

  四、创建webhooks脚本

如何使用宝塔Webhook自动同步Git仓库插图3

  名称随便起就行

  执行脚本可以参考以下,注意$1 git 仓库最好和文件夹一致,如果不一致,可以根据自己的情况改一下下面的代码

  #!/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 网址两种方式都可以ssh 或者https

  gitHttp="https://gitee.com/xxx/$1.git"

  #gitHttp="git@gitee.com:xxx/$1.git"

  echo "Web站点路径:$gitPath"

  #判断项目路径是否存在

  if [ -d "$gitPath" ]; then

  cd $gitPath

  #判断是否存在git目录

  if [ ! -d ".git" ]; then

  echo "在该目录下克隆 git"

  sudo git clone $gitHttp gittemp

  sudo mv gittemp/.git .

  sudo rm -rf gittemp

  fi

  echo "拉取最新的项目文件"

  #sudo git reset --hard origin/master

  sudo git pull

  echo "设置目录权限"

  sudo chown -R www:www $gitPath

  echo "End"

  exit

  else

  echo "该项目路径不存在"

  echo "新建项目目录"

  mkdir $gitPath

  cd $gitPath

  #判断是否存在git目录

  if [ ! -d ".git" ]; then

  echo "在该目录下克隆 git"

  sudo git clone $gitHttp gittemp

  sudo mv gittemp/.git .

  sudo rm -rf gittemp

  fi

  echo "拉取最新的项目文件"

  #sudo git reset --hard origin/master

  sudo git pull

  echo "设置目录权限"

  sudo chown -R www:www $gitPath

  echo "End"

  exit

  fi

如何使用宝塔Webhook自动同步Git仓库插图4

  点击查看秘钥,复制脚本地址和秘钥

如何使用宝塔Webhook自动同步Git仓库插图5

  然后到码云配置webhook

如何使用宝塔Webhook自动同步Git仓库插图6

  选择事件根据自己的情况选择即可

  创建完后,我们可以看到他默认请求了一次,也可以自己进行测试,直接点后面的测试即可,然后点击下面的查看更多,可以查看更多的详细信息

如何使用宝塔Webhook自动同步Git仓库插图7
如何使用宝塔Webhook自动同步Git仓库插图8

  然后我们回到宝塔刷新查看webhook 日志,可以看到已经调用了两次了

如何使用宝塔Webhook自动同步Git仓库插图9

  注意事项

  如果webhook执行了,查看推送过来的代码并没有创建成功,很有可能是权限的问题

  我们尝试手动拉取一次,提示gitee.com 不可信,这下找到原因了,直接根据提示输入yes 即可,后面的就可以实时的推送过来了

  The authenticity of host 'gitee.com (212.64.62.183)' can't be established.

  ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.

  ECDSA key fingerprint is MD5:27:e5:d3:f7:2a:9e:eb:6c:93:cd:1f:c1:47:a3:54:b1.

  Are you sure you want to continue connecting (yes/no)?




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 bkook@qq.com 举报,一经查实,本站将立刻删除。
【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字体: 】 
上一篇:Linux面板常用命令大全
下一篇:linux宝塔面板安装composer的方法
  >> 相关文章
没有相关文章。

服务热线

198-9911-5815

功能和特性

价格和优惠

技术支持及售后

微信关注