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

时间:2010-08-01 08:15:45

标签: svn deployment elastic-beanstalk

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

我从我项目的本地工作副本中创建分支。最终做的是覆盖分段和开发的配置文件副本,因此我每次部署时都必须手动进行正确的更改。

从SVN中完全删除配置文件是否有意义?或者还有另一种方法吗?

2 个答案:

答案 0 :(得分:2)

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

  • 结帐
  • 编译
  • 运行部署脚本

答案 1 :(得分:1)

您不希望从SVN中删除文件 - 因为这会导致它在部署时从服务器中删除它们。

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

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

答:编辑目录的忽略属性。

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

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

  • 使用cd trunk/blah切换到包含您要忽略的文件的目录。
  • 使用svn propset svn:ignore config.php .设置SVN ignore属性以忽略config.php文件。
    • 提交财产变更。 svn commit -m "New Ignores"

Good introductory article on svn:ignore。 “Official SVN documentation.