【问题标题】:How to decrease time for project env setup?如何减少项目环境设置的时间?
【发布时间】:2009-05-03 12:14:03
【问题描述】:

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

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

  • API
  • email2sms
  • scheduled_sending
  • 计费
  • 等。 总共不到 10 个文件夹。

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

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

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

环境: 开发环境——Ubuntu、Windows;生产 - FreeBSD

【问题讨论】:

    标签: svn permissions development-environment


    【解决方案1】:

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

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

    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,使用您对目录结构所做的任何更改,以及它需要的任何权限更改 - 而不是仅仅在您的计算机上手动进行更改,然后将其保留。 (对目录结构进行更改的所有其他开发人员也是如此。)

    【讨论】:

      【解决方案2】:

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

      如果您的部署过程有安装脚本,也可以在脚本中执行。

      【讨论】:

      • 我应该选择什么 - 安装脚本或 Apache Ant 任务 - 这将设置所有权限(不在反模式中?)。如果它必须是一个脚本 - 何时以及如何调用它 - 在 Apache Ant 的“构建”任务中运行脚本还是什么?请帮忙
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2017-05-25
        • 2018-05-08
        • 1970-01-01
        • 1970-01-01
        • 2018-07-11
        • 1970-01-01
        • 2017-07-18
        • 2018-11-10
        • 1970-01-01
        相关资源
        最近更新 更多