现在我正在使用Mercurial在生产和开发服务器之间同步类似的Apacheconfiguration。 最后的修补程序队列添加了开发服务器所需的更改和额外的东西。
该计划的工作,但可能会更好。 在从部署configuration中提取更改后,重新应用修补程序队列时,我总是遇到合并冲突。 我觉得我总是对单独的http://和https://configuration文件进行相同的更改。
我应该如何分配我的:80和:443 Apacheconfiguration之间的相同位,并更干净地将“额外位”添加到开发configuration?
您可能需要考虑使用Apacheconfiguration系统的Includefunction。 然后将你的configuration文件中的特定于单个机器的元素分隔成一个_local.conf文件 ,这样可以使合并变得更简单
Apache可以select启用某些configuration。 这使您可以使用相同的configuration文件进行开发和生产。 使用-DDEVELOPMENT或-DPROD启动apache,并且可以使用标签进行特定于开发服务器的configuration。 这样你就不会遇到任何合并冲突(除非你在合并之前改变了两个dev / prodconfiguration文件)
这可能是老派,但我的舞台和生产Apacheconfiguration是相同的,除了每个参数内的一些不同(即:IP地址)。 我在启动脚本的周围使用了一个perl封装来以一种有条不紊的方式“填空”。 实际的基本configuration“模板”确实是相同的。
这保证了apache阶段在function上与生产apache完全相同。
通过开发共享这个生产configuration使他们能够按照自己的想法进行接近生产的testing(他们希望这样做,因为除非他们的东西在舞台上工作,否则他们不会投入生产)偶尔会提供帮助(例如mod_rewrite规则)并把其余部分留给开发者。
这个特定的设置和我工作的其他地方之间的区别是:
鼓励开发人员涉足与他们所从事的工作没有直接关系的领域,即:他们可以在后端应用程序上工作(因此不需要了解太多的apache),但他们configuration了自己的apache服务器实际上build立了他们自己的桌面,但是这是横跨IMnsHO的一条线)。
操作实际上驱动了大量的基础设施,而不是仅仅运行它。