一、说明
本说明只针对php,其他语言需要编译请用别的架构实现
二、实现效果
本地开发员门提交推送代码到git服务器,会立即同步更新网站服务器上代码
三、实战步骤小节
首次托管请先看 https://www.cnblogs.com/wdw31210/p/11009968.html
gogs新建项目
1、克隆,设置ignore,提交
2、从宝塔服务器复制网站代码到本地
3、复制下载的网站代码文件到克隆后的文件夹内,提交,推送
4、添加协作者
5、复制.git文件夹到宝塔服务器对应项目网站根节点
6、编写githook.php放入到public文件夹下,需要检查要同步的分支名,当前是master,改成你想要的,无则不改
7、进入gogs项目的仓库设置下的web钩子管理,新增钩子,gogs,输入 githook.php,要求能访问
8、检查php5.6的 disable_functions 把它后面的 exec去掉(其他错误请参考https://www.cnblogs.com/wdw31210/p/11009968.html)
9、首次上钩子,需要远程ssh进入linux服务器,手工执行githook.php的脚本(如果整个连贯脚本一次性执行有问题,就逐句执行,看报错什么解决什么)
10、执行完成提示 Already up-to-date
11、测试钩子,本地提交并且推送个东西到 origin/dev_aaa ,结果服务器上的代码应该无变化
推送到 origin/master ,结果服务器上的代码应该有新增的东西
测试结束