记宝塔使用webhook自动化同步gitee代码
1、服务器ssh密钥
1、输入命令查看服务器是否存在密钥:
cd ~/.sshls
id_xxx.pub的是公钥、id_xxx的是私钥
如果没有,就要先生成一下,生成ssh密钥参考https://gitee.com/help/articles/4181
2、复制ssh公钥到码云公钥管理,
1、查看ssh公钥:
cat id_rsa.pub
2、把cat输出内容全部复制下来
3、打开gitee仓库主页--【管理】--【部署公钥管理】--【添加公钥】 ,添加公钥
1.2.4、【公钥管理】--【可部署公钥】--【启用】
2、宝塔webhook操作
1、安装webhook,宝塔面板--【软件管理】--【搜索webhook】,安装即可
2、添加webhook脚本
不要在windows系统编辑,会有换行符等问题
#!/bin/bashecho ""echo "-----开始-----"#服务器git项目路径gitPath="/www/wwwroot/服务器git项目路径/"#码云git项目网址 一定要sshgitHttp="码云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 "-----结束-----" exitelse echo "该项目路径不存在" echo "End" exitfi
2.3、添加成功后查看密钥,添加gitee项目的webhook
webhook密码对应密钥,URL对应GET/POST地址
测试一下,如果线上是新建网站,没有.git文件夹,第一次会先克隆项目
配置完成,以后再推代码到仓库时会自动触发webhook,拉取最新项目代码
脚本如果执行不成功,就是脚本的标点符号问题,解决方法:
用vim打开脚本文件,在命令行模式下输入。如果还不行就再linux服务器或者宝塔编辑hook里手打一遍吧
:set ff=unix:wq
来源地址:https://blog.csdn.net/YoungJ_Zhou/article/details/127965817
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341