git实现PHP网站自动发布

WEICHUANBO 发布于 2016/06/07 16:29
阅读 326
收藏 1

 git实现PHP网站自动发布   完全不知道怎么搞。。。 有几个问题   是把远程仓库放在apache的网站目录(www)里面吗?还是随便放,最后拉取到www里面。crontab定时器执行push? 然后hooks又执行什么? 我对git不熟,大神给我点思路,比较急~! 谢过了。 

加载中
0
Johnzjh
Johnzjh

根据你项目的master建几个对应的分支,比如测试服的test和发布到服务器的release,设置push到远程仓库的时候hook触发代码整体打包或者触发从gitlab拉取分支

0
mokecc
mokecc

直接上阿里云的持续交付系统 https://crp.aliyun.com

还有一个开源的部署系统 https://walle-web.io/

0
skq
skq

最方便的直接在 www 作为仓库目录 :)我最开始这么搞的,~~

另一种方法,git 的 hooks

git hooks 有一个 post-receive,就是在客户端 push 后执行该脚本,如:

unset GIT_DIR

repositoryPath=/srv/youku.git
wwwPath=/var/www/youku

cd $wwwPath
git pull origin master



在后面添加如上内容,

第一句,unset GIT_DIR 很重要,去掉默认的全局变量,不然后面pull出错

然后 cd 到 www 目录,也就是需要 checkout 的,如果用 checkout 每次都要全部迁出,所以我在 www 下也建了个仓库,用 pull ,

简单的就这么处理了,还有点就是 权限问题,apache 的权限,比如网站要生存缓存等文件需要写入的权限,直接 添加到 git 用户组,给全部组权限就好了

返回顶部
顶部