开发最佳实践:自动授予应用程序新文件夹的权限

Development best practices: automatically grant permission to application's new folders

某些功能需要我的应用程序中的新文件夹,有时我需要授予对这些文件夹的写入权限。

目前,当我将代码上传到生产环境时,我需要在服务器中手动授予这些权限。当我的开发团队中的另一个人通过 git 拉取我的代码时,他们必须在他们的机器上本地手动授予它。

在这两种情况下自动授予这些权限的最佳做法是什么?

我不知道这是否会干扰某些事情,但该应用程序是使用 Zend Framework2 在 PHP 中编写的。我们使用 composer 进行依赖管理,Git 进行版本控制。

编辑 1
所以我听说过 Git Hooks。我想创建一个 post-receive hook 在每次我的远程存储库收到提交时执行,并在每个开发人员机器执行 git pull.

后创建一个 post-merge hook

我还听说挂钩不会通过从开发人员到服务器的提交传输,反之亦然。
真的吗?我是否需要在我的代码(已提交)中创建一个特定的脚本,然后在这些挂钩中引用它?

因此,在同事的搜索和帮助之后,我发现最好的方法是在我的应用程序中创建一个脚本,以便对其进行版本控制。好的做法是它应该放在 application/bin 目录中。

该脚本将检查并执行所有需要通过脚本而不是应用程序本身完成的特定于应用程序的事情,通常是需要自动化的事情。
就我而言,每次我创建一个新的 'customer' 文件夹时,脚本都会在其中创建一些文件夹,复制一些配置文件并授予正确的权限。

我在 post-receive 挂钩中编写的唯一代码是一个带有应用程序完整路径的变量和一个 git checkout -f 用于将文件从我的裸存储库发送到我的非裸存储库。