Sitecore Azure在CA和CD之间发布

时间:2014-11-18 01:38:56

标签: azure sitecore sitecore7.2 sitecore-azure

我正在使用Sitecore Azure 7.2模块设置完整的PaaS站点。

它主要用于工作,我已经部署了一个简单的内容创作(CA)服务器和一个单独的内容交付(CD)服务器部署。

我有一个CA服务器实例,以及两个CD服务器实例。

我的问题是该模块似乎将CA服务器设置为发布到自己的Web数据库而不是CD数据库。

我可以在运行Sitecore Azure模块的Sitecore实例中看到2个发布目标,但就内容创作和发布而言,这实际上是无用的。

我是否设置错误,或者我错过了什么,但是如何部署CA服务器以便将新的发布目标设置为所有CD服务器的Web DB?

修改

我尝试重新部署我的网站,我可以从日志中看到Sitecore Azure模块似乎试图在编辑场上设置远程发布目标,但它似乎永远不会出现。 我在编辑实例上启用了远程桌面,我可以看到Web数据库实际上是编辑Web数据库,而不是CD Web数据库。

编辑2(变暖)

我发现远程发布的目标应该是'出现了,我查看了CA服务器上的日志,找到了这个:

ERROR Error while instantiating agent. Definition: <agent type="Sitecore.Azure.Managers.PublishTargetRemoteManager, Sitecore.Azure" method="Synchronize" interval="00:05:00" />
Exception: System.Exception
Message: Could not resolve type name: Sitecore.Azure.Managers.PublishTargetRemoteManager, Sitecore.Azure (method: Sitecore.Configuration.Factory.CreateType(XmlNode configNode, String[] parameters, Boolean assert)).
Source: Sitecore.Configuration.Factory.CreateType(XmlNode configNode, String[] parameters, Boolean assert)
   at Sitecore.Diagnostics.Error.Raise(String error, String method)
   at Sitecore.Configuration.Factory.CreateType(XmlNode configNode, String[] parameters, Boolean assert)
   at Sitecore.Configuration.Factory.CreateFromTypeName(XmlNode configNode, String[] parameters, Boolean assert)
   at Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper)
   at Sitecore.Tasks.Scheduler.ReadAgents()

此代理定义如下所示:     

但是DLL看起来都在正确的位置,我怎么能进一步调试呢?

我认为5分钟后,远程发布目标会出现,但由于它崩溃了,它不会出现......

3 个答案:

答案 0 :(得分:1)

在Azure.ServiceRuntime.config文件中(在启用Azure模块的实例上),查找以下行;

<agent type="Sitecore.Azure.Managers.PublishTargetRemoteManager, Sitecore.Azure" method="Synchronize" interval="00:05:00" />

并将其替换为此;

<agent type="Sitecore.Azure.Managers.Publishing.PublishTargetRemoteManager, Sitecore.Azure" method="Synchronize" interval="00:05:00" />

现在执行“升级文件”操作。

然后应该正确同步您的发布目标。 Sitecore支持提供了上述解决方法。

答案 1 :(得分:1)

与您的Sitecore Azure模块版本相关的已知问题应导致您所描述的行为。

有关更多信息,请参阅SDN上的以下文章: https://kb.sitecore.net/articles/744394

祝福,Oleg

答案 2 :(得分:0)

在编辑和交付场之间设置共享数据库是一个手动过程。

Sitecore知识库有关于sitecore azure的各个方面的非常好的文章,针对您的具体问题,我认为本文How to share a database between Farms in Sitecore Azure会有所帮助。

它明确指出这些步骤是手动的。

还有一件事,我想知道您是否将其配置为实时模式或发布模式?

PizzaTheHut建议的解决方案也适合我。您可以在Website \ App_Data \ AzureOverrideFiles \ App_Config \ Include \ Azure.ServiceRuntime.config中找到该文件。编辑它并通过从sitecore azure升级文件推送到Content Delivery服务器。