如何减少项目环境设置的时间?

时间:2009-05-03 12:14:03

标签: svn permissions development-environment

在我们的项目中,我们在 tmp文件夹中编写了大量应用程序日志(有时它们非常有用)。

在此文件夹中,我们有组件的目录,例如:

  • API
  • email2sms
  • scheduled_sending
  • 计费
  • 等。 总结少于10个文件夹。

问题: 新组件的文件夹随着时间而出现 - 每个文件夹都必须是可写的。

因此,每个开发人员在本地环境中对每个文件夹进行chmod需要时间,在生产中chmod这些文件夹需要时间。

如何解决此问题? 如何自动化这个过程(Apache Ant任务,SVN属性,应用程序的脚本 - 必须负责该任务)?

环境: 开发环境 - Ubuntu,Windows;制作 - FreeBSD

3 个答案:

答案 0 :(得分:3)

我在大多数公司工作过的快速而肮脏的方法是这样的:

  1. 将所有代码放在版本控制系统(如SVN或其他东西)中,以便所有开发人员都拥有单个文件源。你显然已经这样做了。的乌拉!
  2. 放入该代码的根目录,这是一个名为setup_permissions.sh的文件,用于更新所有本地环境内容。这可以包括权限,或者您需要运行的任何内容。
  3. 每天早上,所有程序员都会svn update更新文件,setup_permissions.sh
  4. 他们试图运行他们的代码。看到问题。他们运行setup_permissions.sh
  5. 世界上一切都很好!
  6. 至于setup_permissions.sh的内容,可能类似于:

    #/bin/sh
    TMP=/tmp
    
    mkdir $TMP/api
    mkdir $TMP/email2sms
    mkdir $TMP/scheduled_sending
    mkdir $TMP/billing
    chmod 777 -r $TMP/api $TMP/email2sms $TMP/scheduled_sending $TMP/billing
    

    并添加您认为需要的更多命令 (哦,不要使用chmod 777 ......这是一个很糟糕的主意。请以此为例。)

    这种方法的关键是纪律。您必须信任程序员在更新本地环境时遵守setup_permissions.sh的规则。更新生产系统的人也是如此。

    您还必须具备更新setup_permissions的规则,包括对目录结构所做的任何更改,以及所需的任何权限更改,而不是仅仅在您的计算机上手动执行更改,并将其保留在该计算机上。 (对于对目录结构进行更改的所有其他开发人员也是如此。)

答案 1 :(得分:1)

创建日志的人(程序/组件)应负责使日志文件可写入每个人 - 在创建日志时使用mod = 777(每个人都可写)。

如果您部署进程有一个安装脚本,也可以在脚本中执行此操作。

答案 2 :(得分:0)

mkdir和chmod在一个简单的shell脚本中就足够了。