1

我有一个受源代码控制(Git)控制的网站,并为两个不同的服务器使用两个分支。master分支反映了生产网站,分支develop是部署到我们的测试服务器的内容。

但是,测试服务器是可公开访问的,但到目前为止,它一直受到.htaccess.htpasswd的保护。

.htaccess文件中有很多RewriteRule指令,想知道:让两台服务器使用相同的.htaccess规则但测试站点也有.htpassw规则的最佳方法是什么?

4

2 回答 2

1
  1. 明显的方式- 不同分支中的不同 .htaccess,合并时合并文件
  2. Git 风格的方式- 涂抹/清洁过滤器,它(过滤器后面的脚本)将公共关键字转换为最终代码,具体取决于分支(以及反向转换)
  3. 独立于 SCM 的方式- 共享代码,在交付阶段由使用的 build-deploy 处理并获取可用文件(如果网站不是 repos 的工作目录)
于 2013-01-30T13:18:47.773 回答
0

通常,代码存储库中根本不应该有任何与密码相关的信息。

也就是说,假设您从开发合并到主控,您实际上不能只有一个文件位于开发分支和主控中。您也许可以在签出 master 时使用 git 挂钩(可能是接收后,具体取决于您的机器的设置方式)来删除文件,但这非常脆弱。

更好的方法是根本不将文件放在 git 中,而是手动维护它。你可以在测试服务器上有一个 git 钩子,它从其他地方复制 .htpasswd 文件。或者,您甚至可以将该文件保存在单独的存储库中,并将其符号链接到测试服务器的目录中。

于 2013-01-30T13:15:04.850 回答