我正在为 Sitecore 构建一个开源持续部署工具。(自动安装内容包作为自动部署的一部分)
我尝试实现的下一个功能是发布内容包中的任何更改。我有发布项目列表的代码,但我需要从内容包中的更改中获取需要发布的项目列表。为我们的一些客户发布整个网站是不现实的(以所有语言发布完整网站需要几天时间)。
您能推荐以编程方式执行此操作的最佳方法吗?我开始在Sitecore.Update.Wizard
命名空间中寻找线索,但看不到任何明显的东西。
看看Sitecore 的事件处理程序。您要做的是创建自己的事件,该事件将在安装项目时引发,并将项目或已安装项目的 ID 作为参数传递给事件处理程序。
要附加该事件,请查看Sitecore.Install.Items.ItemInstaller
名称空间以及Sitecore.Install
(in Sitecore.Kernel
) 下的其他名称。
您要做的下一件事是创建一个事件处理程序,以便在引发新事件时调用。此事件处理程序应该从参数中获取项目/项目 ID,然后应该发布它(确保首先验证项目确实存在 - 项目已成功安装)。
剩下的就是将您的“发布项”代码放入新事件处理程序的主体中。