当前位置:首页 > 编程技术 > 正文内容

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

yc8881年前 (2023-01-09)编程技术208

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. 测试同步


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

本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/10350.html

标签: git
分享给朋友:

“宝塔利用 Git + WebHook 实现与码云同步【自动部署】” 的相关文章

【说站】laravel实现自定义404页面并给页面传值

【说站】laravel实现自定义404页面并给页面传值

以 laravel5.8 为例,虽然有自带的404页面,但太简单,我们更希望能自定义404页面,将用户留在站点。实现的方式很简单,将自定义的视图文件命名为 404.blade.php,并放到 reso...

【说站】Thymeleaf报错Error resolving template “XXX”

【说站】Thymeleaf报错Error resolving template “XXX”

修改了一下开源项目的目录结构访问突然报错Error resolving template “XXX”可能原因有如下三种:第一种可能:原因:在使用springboot的过程中,如果使用thymeleaf...

【说站】用一句话就可以去除宝塔面板操作上的二次验证

【说站】用一句话就可以去除宝塔面板操作上的二次验证

用过宝塔的朋友应该都会发现,现在宝塔面板有些鸡肋的功能,删除文件、删除数据库、删除站点等操作都需要做计算题!不仅加了几秒的延时等待,还无法跳过!这时候就会有朋友在想,如何去除宝塔面板的二次验证,此篇文...

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

这篇文章主要介绍了详解Centos8 配置静态IP的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来学习一下!1. 查看自己的网关地址点击虚...

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

今天在安装MySQL时出现starting the server失败,经过查询分析得出以下结论,记录一下操作步骤。原因分析:如果电脑是第一次安装MySQL,一般不会出现这样的报错。如下图所示。star...

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

PDF中的墨迹注释(Ink Annotation),表现为徒手涂鸦式的形状;该类型的注释,可任意指定形状顶点的位置及个数,通过指定的顶点,程序将连接各点绘制成平滑的曲线。下面,通过C#程序代码介绍如何...