我正在构建一个包含多个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),这似乎是无效的.
Sitecore没有直接达到你想要的效果.根据您使用的工具,有一些选项可以实现这一目标.
Visual Studio/Build Server
您可以使用SlowCheetah配置转换来配置非web.config文件,例如ConnetionStrings和AppSettings.对于要为其创建构建的每个环境,您将需要不同的构建配置文件,并添加适当的配置转换和覆盖.SlowCheetah可作为nuget包添加到您的项目中,也可用作Visual Studio插件,它提供了额外的工具来帮助添加变换.
持续部署
如果您使用的是像Octopus Deploy这样的持续部署工具,那么您可以在每个环境和机器角色的基础上替换文件中的变量(例如CM与CD).您还可以根据需要编写自定义PowerShell步骤来修改/转换/删除文件.由于这也可以在机器角色的基础上运行,因此您可以编写一个步骤来删除CD环境中不必要的连接字符串(master,reporting,tracking.history)以及删除Sitecore配置指南中指定的其他文件.
Sitecore配置覆盖
可以使用Sitecore中内置的包含文件修补工具修改
节点中的任何内容web.config
并进行修补.如果您有某些需要为CD环境修改或删除的设置,那么您可以创建一个特定于CD的覆盖,我将其放入/website/App_Config/Include/z.ProjectName/WebCD
并使用Octopus部署中的部署后PowrrShell脚本来删除CM环境中的此文件夹.Include文件夹中有补丁示例,例如SwitchToMaster.config
.从理论上讲,您可以编写一个补丁文件来删除depoyment指南中提到的所有配置部分,但是编写PowerShell步骤来删除它们会更容易.
我倾向于使用上述所有内容来帮助部署到不同服务器角色的各种环境(CM与CD).