某些功能需要在我的应用程序中使用新文件夹,有时我需要为这些文件夹授予写入权限。
目前,当我将代码上传到生产环境时,我需要在服务器中手动授予这些权限。当我的开发团队中的另一个人通过git提取我的代码时,他们必须在他们的机器中手动授予它。
在这两种情况下自动授予这些权限的最佳做法是什么?
我不知道是否会干扰某些内容,但应用程序是使用Zend Framework2以PHP编写的。我们使用composer进行依赖管理,使用Git进行版本控制。
编辑1
所以我听说过Git Hooks。我希望每次我的远程存储库接收提交时都要创建一个post-receive hook
,并在执行git pull后在每个开发人员机器上执行post-merge hook
。
我也听说过钩子不是通过开发者到服务器的提交来转移的,反之亦然。
真的吗?我是否需要在我的代码中创建一个特定的脚本(已提交),然后在这些钩子中引用它?
答案 0 :(得分:0)
因此,经过工作中的colegue的一些搜索和帮助,我发现最好的方法是在我的应用程序中创建一个脚本,因此它可以被版本化。好的做法说它应该留在application/bin
目录中。
该脚本将检查&做一切特定应用程序,需要通过脚本而不是应用程序本身来完成,通常是需要自动完成的事情。
在我的情况下,每次我创建一个新的客户'文件夹,在其中脚本将创建一些文件夹,复制一些配置文件并给予正确的权限。
我在post-receive
钩子中写的唯一代码是一个带有应用程序的完整路径的变量,一个git checkout -f
用于将文件从我的裸存储库发送到我的非裸存储库。