使用相同配置部署多个内容交付服务器



我正在构建一个带有多个内容交付服务器的Sitecore服务器场。在当前的过程中,我启动CD服务器,按照每个虚拟机/CD服务器的详细信息,手动完成注释连接字符串和启用或禁用配置文件的步骤:

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

但是,由于我有多个服务器,是否有任何类型的全局配置文件可以让我指定我想要的设置(本质上是CD服务器的设置模板),或者有一个工具可以让我加载所需的设置/模板,为其启用/禁用配置文件等。?例如,我使用过SIM卡工具进行安装,但不确定它是否提供了CD服务器的预先确定的"模板"加载。

与更自动化的流程相比,必须建立一个服务器,然后手动配置每个服务器似乎更有效(例如,类似于Sitecore Azure,但在这种情况下,我需要在prem上安装虚拟机)。

Sitecore中没有任何东西可以直接实现您想要的。不过,根据你使用的工具,有一些选项可以达到这个目标。

Visual Studio/Build服务器

您可以使用SlowCheetah配置转换来配置非web.config文件,如ConnationStrings和AppSettings。您将需要为每个环境创建不同的构建配置文件,以便为其创建构建并添加适当的配置转换和覆盖。SlowCheetah可以作为nuget包添加到您的项目中,也可以作为Visual Studio插件提供额外的工具来帮助添加转换。

连续部署

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

Sitecore配置覆盖

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

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

强烈建议您查看Desired State Configuration,它将完全实现您所说的功能。当然,您需要至少设置一次实际配置,但之后可以将其部署到任意数量的机器上。对配置的更改会自动流到根据配置构建的所有机器,并且直接对机器所做的任何更改(称为配置漂移)都会自动更正。这可以与Azure相结合,Azure现在可以通过自动化功能充当"拉服务器"。

为了跟上这个功能集的速度,还有很多阅读工作要做,但它会解决你的问题。

这本身不是Sitecore工具。

最新更新