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