宝塔利用 Git + WebHook 实现与码云同步【自动部署】

  • 1. 将项目拉取到云服务器
  • 2. 配置 SSH 公共密钥
  • 3. 宝塔安装webhook
  • 4. 配置 gitee WebHook
  • 5. 测试同步

1. 将项目拉取到云服务器


拉取指定分支到云服务器

  1. git clone -b 分支名 仓库地址
  1. git clone -b liang https://gitee.com/holyking/test.git

配置永久记住密码

  1. git config --global credential.helper store

2. 配置 SSH 公共密钥


生成 SSH 密钥, 一路回车

  1. ssh-keygen -t rsa

查看 SSH 公钥

  1. cat ~/.ssh/id_rsa.pub

配置 gitee 仓库的 部署公钥

 

3. 宝塔安装webhook


 

脚本文件

  1. #!/bin/bash
  2. echo ""
  3. #输出当前时间
  4. date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
  5. echo "Start"
  6. #git分支名称
  7. branch="liang"
  8. #git项目路径
  9. gitPath="/www/wwwroot/ft.itqaq.com/test"
  10. #git 仓库地址
  11. gitHttp="https://gitee.com/holyking/test.git"
  12. #gitHttp="http://192.168.2.20/llh/$1.git" //多仓库的时候
  13. echo "Web站点路径:$gitPath"
  14. #判断项目路径是否存在
  15. if [ -d "$gitPath" ]; then
  16. cd $gitPath
  17. #判断是否存在git目录
  18. if [ ! -d ".git" ]; then
  19. echo "在该目录下克隆 git"
  20. sudo git clone $gitHttp gittemp
  21. sudo mv gittemp/.git .
  22. sudo rm -rf gittemp
  23. fi
  24. echo "拉取最新的项目文件"
  25. #sudo git reset --hard origin/$branch
  26. git remote add origin $gitHttp
  27. git branch --set-upstream-to=origin/$branch $branch
  28. sudo git reset --hard origin/$branch
  29. sudo git pull $gitHttp 2>&1
  30. echo "设置目录权限"
  31. sudo chown -R www:www $gitPath
  32. echo "End"
  33. exit
  34. else
  35. echo "该项目路径不存在"
  36. echo "新建项目目录"
  37. mkdir $gitPath
  38. cd $gitPath
  39. #判断是否存在git目录
  40. if [ ! -d ".git" ]; then
  41. echo "在该目录下克隆 git"
  42. sudo git clone $gitHttp gittemp
  43. sudo mv gittemp/.git .
  44. sudo rm -rf gittemp
  45. fi
  46. echo "拉取最新的项目文件"
  47. #sudo git reset --hard origin/$branch
  48. sudo git pull gitHttp 2>&1
  49. echo "设置目录权限"
  50. sudo chown -R www:www $gitPath
  51. echo "End"
  52. exit
  53. fi

脚本文件中的项目目录、git地址、git分支名替换成自己的

  1. # 远程分支
  2. branch="master"
  3. # 换成自己宝塔项目根目录
  4. gitPath="/www/wwwroot/test"
  5. # gitee 仓库地址
  6. gitHttp="https://gitee.com/holyking/test.git"

 

4. 配置 gitee WebHook


复制宝塔的 WebHook 提供的URL和密钥

在 gitee 仓库的 WebHook 中添加 WebHook

 

5. 测试同步


码云仓库随意改个文件保存一下, 生成新的提交记录, 看云服务器上有没有同步更新

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值