使用相同的配置部署多个Content Delivery Server

时间:2015-12-05 15:43:44

标签: sitecore

我正在构建一个包含多个Content Delivery服务器的Sitecore服务器场。在当前流程中,我站起来了CD服务器并按照手动步骤注释掉连接字符串,并按照每个虚拟机/ CD服务器的详细说明启用或禁用配置文件:

https://doc.sitecore.net/Sitecore%20Experience%20Platform/xDB%20configuration/Configure%20a%20content%20delivery%20server

但是因为我有多个服务器,是否有任何类型的全局配置文件,我可以指定我想要的设置(基本上是CD服务器的设置模板),或者我可以加载我想要的设置/模板的工具配置文件启用/禁用等?我使用SIM工具进行实例安装,但不确定它是否为CD服务器加载了预先确定的“模板”。

只需站起服务器然后手动配置每个服务器而不是更自动化的流程(例如类似于Sitecore Azure,但在这种情况下我需要在本地安装VM),这似乎是无效的。 / p>

2 个答案:

答案 0 :(得分:5)

Sitecore没有直接达到你想要的效果。根据您使用的工具,有一些选项可以实现这一目标。

Visual Studio / Build Server

您可以使用SlowCheetah config transforms配置非web.config文件,例如ConnetionStrings和AppSettings。对于要为其创建构建的每个环境,您将需要不同的构建配置文件,并添加适当的配置转换和覆盖。 SlowCheetah以nuget package的形式提供给您的项目,还有一个Visual Studio plugin,它提供了额外的工具来帮助添加变换。

持续部署

如果您使用的是Octopus Deploy等持续部署工具,则可以基于每个环境和计算机角色(例如CM与CD)substitute variables in files。您还可以根据需要编写自定义PowerShell步骤来修改/转换/删除文件。由于这也可以在机器角色的基础上运行,因此您可以编写一个步骤来删除CD环境中不必要的连接字符串(master,reporting,tracking.history),以及删除Sitecore配置指南中指定的其他文件。

Sitecore配置覆盖

<sitecore>web.config节点内的任何内容都可以使用Sitecore内置的Include File Patching Facilities进行修改和修补。如果您有某些需要为CD环境修改或删除的设置,那么您可以创建一个特定于CD的覆盖,我将其放在/website/App_Config/Include/z.ProjectName/WebCD中并使用Octopus部署中的部署后PowrrShell脚本来删除此文件夹在CM环境中。 Include文件夹中有补丁示例,例如SwitchToMaster.config。从理论上讲,您可以编写一个补丁文件来删除depoyment指南中提到的所有配置部分,但是编写PowerShell步骤来删除它们会更容易。

我倾向于使用上述所有内容来帮助部署到不同服务器角色的各种环境(CM与CD)。

答案 1 :(得分:4)

强烈建议您查看Desired State Configuration,它将完全按照您的说法进行操作。当然,您需要至少设置一次实际配置,但是它可以部署到您喜欢的任意数量的机器上。对配置的更改将自动流向从配置构建的所有计算机,并且将自动更正直接对计算机所做的任何更改(称为配置偏移)。这可以与Azure结合使用,Azure现在可以充当&#34;拉服务器&#34;通过自动化功能。

为了快速掌握这个功能集,我们需要做很多阅读,但它会解决您的问题。

这本身并不是Sitecore工具。