【问题标题】:Sitecore Azure publish between CA and CD在 CA 和 CD 之间发布 Sitecore Azure
【发布时间】:2014-11-26 09:15:39
【问题描述】:

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

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

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

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

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

我是否设置不正确,或者我可能遗漏了什么,但是应该如何部署 CA 服务器,以便它为所有 CD 服务器的 Web DB 设置一个新的发布目标?

编辑

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

EDIT 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分钟后,远程发布目标会出现,但由于它正在崩溃,它没有出现......

【问题讨论】:

    标签: azure sitecore sitecore7.2 sitecore-azure


    【解决方案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 支持提供了上述解决方法。

    【讨论】:

    • 这听起来很有希望,我现在正在尝试...谢谢(喜欢昵称 BTW)
    • 修复了!所以命名空间是问题所在。对于那些在家玩的人来说,PizzaTheHut 所说的配置文件的位置在&lt;WebsiteRoot&gt;\App_Data\AzureOverrideFiles\App_Config\Include 下(再次注意,这是在 Sitecore Azure 服务器上,而不是 CA 或 CD 服务器上)我只是更改了命名空间,然后更新了我的文件,然后代理最终运行并修复了!我可以在内容编辑器中看到新的发布目标,并且可以正常工作!
    【解决方案2】:

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

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

    最好的祝福,奥列格

    【讨论】:

    • 我 99% 确定这篇文章的存在是因为我向 sitecore 团队提出的一个错误 :) 发表于 11 月 24 日(2 天前)
    【解决方案3】:

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

    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 服务器。

    【讨论】:

    • 查看@PizzaTheHut 响应,它应该是自动的,并且 Azure 配置文件存在一个错误,阻止它开箱即用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-05
    相关资源
    最近更新 更多