使用git在服务器上更新代码,经常导致权限变了,日志没有写进去,怎么解决?跪求!

使用gitpull在服务器上更新代码,经常导致权限变了,日志没有写进去,怎么解决?
直接在服务器上gitpull拉代码,经常需要:
chown-Rwww.www/data/wwwroot/
find/data/wwwroot/-typed-execchmod755{}\;
find/data/wwwroot/-typef-execchmod644{}\;
来解决问题,不然有时会造成日志写不进去error_log($content,3,$logFile);
要怎么解决这个问题呢?
或者是我这样使用git来部署代码的方式有问题
还是和git的配置有关,gitconfigcore.filemodefalse这样可以解决吗,怀疑是git拉的时候更改的www/log目录的权限。
尚方宝剑之说
浏览 642回答 2
2回答

心有法竹

可以这么做,使用运行php-fpm的用户去运行命令sudo-uwwwGIT_SSH_COMMAND="ssh-i/root/.ssh/id_rsa"gitpull替换/root/.ssh/id_rsakey路径

RISEBY

一.如果决定继续使用git来部署代码如果你的开发机(提交代码的机器)是Linux,请确保gitcommit时的文件权限是正确的。如果你的开发机(提交代码的机器)是Windows,每次部署的时候就跑一遍chmod吧。使用git来部署代码,这是个使用习惯罢了,不能说有问题。只不过理所当然的可能会面临这些问题。二.如果想更换其他方式部署代码可以试试Git+Jenkins+Docker这种自动化打包部署的方式,虽然有学习成本,但是值得尝试。三.如果只是跑跑开发环境测试,不是交付测试或交付部署直接上BCompare这种代码合并工具。人工成本最高,但是非常适合个人调试(相对于上一条)。(但非常不适合用于交付)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript