代码之家  ›  专栏  ›  技术社区  ›  tipu

部署时版本控制中的配置文件

  •  3
  • tipu  · 技术社区  · 15 年前

    我对配置文件和部署有一个特别的问题。当我部署我的项目时,它最终会转移到两个不同的分支:staging和production(在这里使用SVN)

    我从我的本地工作副本的项目分支。这样做的结果是覆盖staging和development的配置文件副本,所以每次部署时我都必须手动进入并进行正确的更改。

    2 回复  |  直到 15 年前
        1
  •  2
  •   tdammers    15 年前

    我通常会在存储库中维护多个配置文件,但不会使用实际名称(例如,在从部署中排除的专用文件夹中)。然后,我的部署脚本将相应的配置文件复制到最终位置。所以我的部署程序是:

    • 结帐
    • 编译
        2
  •  1
  •   Mike Eng    14 年前

    您不想从SVN中删除这些文件,因为这样会导致在部署时从服务器中删除这些文件。

    SVN提供了一个名为SVN:ignore的特性,您可以使用它从版本控制中排除一个或多个单独的文件,或者匹配要忽略的文件名模式。基本上,忽略文件意味着SVN将保留它们在每个工作副本或部署服务器上的状态,因此它们在每个位置都可能不同。

    从命令行使用ignore有两种方法。

    • cd trunk/blah 更改到包含要忽略的文件的目录。
    • svn propedit svn:ignore . 编辑此目录的忽略属性。这将打开一个文本编辑器。
    • 在打开的文件中,添加或修改表示要忽略的文件的行。例如,添加一行 *.txt 将导致SVN忽略以.txt结尾的所有文件。添加一行 config.php
    • 保存并退出文件。
    • 提交属性更改。 svn commit -m "New Ignores"

    B:使用单个命令设置目录的SVN ignore属性。

    • 使用 cd后备箱 更改到包含要忽略的文件的目录。
    • 使用 svn propset svn:ignore config.php .
      • 提交属性更改。

    Good introductory article on svn:ignore . " Official SVN documentation.

    推荐文章