Sitecore 将更改从本地部署到另一个远程环境和源代码控制

Sitecore deploy changes from local to another remote env and source controlling

我正在使用 Sitecore 6.6.0,我们有多个环境

  1. 本地
  2. 开发
  3. 质量检查
  4. 产品

我必须将一些更改直接从 Local 部署到 Prod (不要问我为什么直接部署到 PROD,即使是用于 QA,我的问题也是一样),我正在做的是在我的本地创建一个包含所有项目的包,并为与修复相关的所有文件单独创建文件夹结构并将其部署到 PROD。

总是有可能出现人为错误,因为我必须记住所有相关的项目和文件才能进行修复,所以有没有更好的自动化方法,不会跳过任何更改的项目或文件?

另一方面,我使用 Bit-bucket 来控制站点核心代码的源代码,那么站点核心数据库呢?大多数 sitecore 开发都留在数据库中。源代码控制站点核心数据库的最佳方法是什么?

更新


从 nuget 安装的包

从 nuget 和 unicorn.default.config 安装 Unicorn 后,出现以下错误

Attempt by method 'Unicorn.Data.DataProvider.UnicornDataProvider..ctor(Unicorn.Data.ITargetDataStore, Unicorn.Data.ISourceDataStore, Unicorn.Predicates.IPredicate, Rainbow.Filtering.IFieldFilter, Unicorn.Data.DataProvider.IUnicornDataProviderLogger, Unicorn.Data.DataProvider.IUnicornDataProviderConfiguration, Unicorn.Predicates.PredicateRootPathResolver)' to access method 'System.Action`1<System.__Canon>..ctor(System.Object, IntPtr)' failed.

在 Github

上关注 ReadMe 之后

当我在 site/unicorn.aspx.

上执行 sync
[P] Auto-publishing of synced items is beginning.
ERROR: Method not found: 'Sitecore.Publishing.Pipelines.Publish.PublishResult Sitecore.Publishing.Publisher.PublishWithResult()'. (System.MissingMethodException)
at Unicorn.Publishing.ManualPublishQueueHandler.PublishQueuedItems(Item triggerItem, Database[] targets, IProgressStatus progress) 
at Unicorn.Pipelines.UnicornSyncEnd.TriggerAutoPublishSyncedItems.Process(UnicornSyncEndPipelineArgs args) 
at (Object , Object[] ) 
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) 
at Unicorn.ControlPanel.SyncConsole.Process(IProgressStatus progress)

解法:


对于旧的 sitecore 版本(pre 7.2 iirc)你需要禁用自动 发布配置文件,因为它依赖于 sitecore 后来添加的方法。

https://github.com/kamsar/Unicorn/issues/103

对于 Sitecore 版本控制和部署,Unicorn 也是一个不错的选择。

https://github.com/kamsar/Unicorn

干杯, 博

为了跟踪您所做的数据库更改,您首先需要安装能够帮助您序列化更改并存储在源代码管理中的软件。 Team Development for Sitecore (TDS) 和 Unicorn 是最受欢迎的两个选项。

您还需要确保在进行更改时拥有自己的本地数据库,这样您就可以将这些更改与 QA、PROD 等隔离开来,从而保持与您所做的相同级别的隔离开发代码。

此过程的自动化通过引入可重复且已知的过程来帮助减少您提到的部署的人为错误。以下是一些可以帮助您入门的博客:

  1. Jason Bert - Continuous Deployment (Git/TDS/TeamCity)
  2. Jason St-Cyr - Automating with TeamCity and TFS(TFS/TDS/Team 构建)
  3. Andrew Lansdowne - Auto deploy Sitecore Items using Unicorn and TeamCity (Unicorn/TeamCity)
  4. Brian Beckham - TDS and Build Configurations

您可能还想查看配置转换以支持 Sitecore Include 补丁文件中的不同值。 SlowCheetah 插件将允许在 Visual Studio 中创建转换(现在可能在 Visual Studio 2015 年...)。 TDS 可以自动获取这些转换并在构建服务器上为您执行它们,或者您可以使用 Visual Studio 本身来创建已发布的包。