Powershell 如何在Sitecore 7.2中安装TDS生成的更新包?

Powershell 如何在Sitecore 7.2中安装TDS生成的更新包?,powershell,deployment,sitecore,octopus,tds,Powershell,Deployment,Sitecore,Octopus,Tds,在我的组织中为我们的public facing.com设置Sitecore 7.2时,我在尝试实施适当的CI、发布管理和部署管理时遇到了一个难题。我能够使用MSBuild编译我的Sitecore MVC代码,从TDS编译.update包,并将每个包打包到.nupkg文件中,以便Octopus部署。我的目标是,一旦部署了MVC代码,我还必须部署Sitecore结构/内容,这需要我安装.update软件包。我已经尝试了在上提供的解决方案,但对于一个相当轻量级的站点,这是在Octopus部署中为我的系

在我的组织中为我们的public facing.com设置Sitecore 7.2时,我在尝试实施适当的CI、发布管理和部署管理时遇到了一个难题。我能够使用MSBuild编译我的Sitecore MVC代码,从TDS编译.update包,并将每个包打包到.nupkg文件中,以便Octopus部署。我的目标是,一旦部署了MVC代码,我还必须部署Sitecore结构/内容,这需要我安装.update软件包。我已经尝试了在上提供的解决方案,但对于一个相当轻量级的站点,这是在Octopus部署中为我的系统包超时约20分钟,更不用说没有涉及结构或内容了。我正在寻找一种方法,最好是通过PowerShell(严格来说,不是安装该软件包后内置到Sitecore web界面中的Sitecore PowerShell扩展)。如果且仅当我可以使用Octopus Deploy的PowerShell工作流中的SPE cmdlet时,才可以使用SPE


请告知。

Jason Bert有一系列关于将Octopus Deploy与TeamCity和TDS一起用于部署到Sitecore实例的博客:

您也可以使用TDS本身来部署解决方案中的项,但这会直接调用目标Sitecore实例上的webservice,这可能不符合您的要求


另外,您是否正在部署整个系统树?20分钟部署对系统树所做的更改似乎不寻常,除非您在其中做了很多更改(例如,字典)。即使如此,您也不应该控制作者内容的源代码,而应该只控制开发人员拥有的对解决方案至关重要的元素。

您可以通过位于/sitecore/admin/UpdateInstallationWizard.aspx的sitecore实用程序安装更新包

如果您体验到通过此模式安装包需要大量时间,则可能需要修改TDS项目的部署属性管理器设置

您可以通过在VisualStudio中右键单击TDS项目并选择“部署属性管理器”来完成此操作

打开Deployment Property Manager窗口后,为每个不需要更新的节点将Deploy属性设置为Once。对于任何要更新的项目,将其标记为始终


这将大大节省您安装软件包所需的时间。

我一直在使用Octopus deploy的Powershell脚本调用。包裹有多大,大约有多少件?通过
/sitecore/admin/UpdateInstallationWizard.aspx安装是否也需要很长时间?随着更新包的增长,它们的安装可能会变得不方便。除了Sitecore.Ship之外,您可能还想看看如何使用来减少部署的项目数量。它基本上会做一个区分,并且只部署这些更改。在开发/质量保证/登台环境中,内容会定期从生产环境填充回TFS,因为内容永远不会通过八达通部署发布到生产环境,但考虑到我们有4-5名开发人员使用自己的主数据库在单个VM中构建,我们的原始架构师决定将整个系统“结构”(布局和模板)以及TDS内容发布到开发/集成、QA和登台环境,以确保100%的一致性。我很乐意接受更好的建议。我的建议是让TDS只跟踪解决方案的更改,并使用SQL Server生产数据备份来重新确定其他环境的基线。从备份中恢复,然后部署TDS解决方案,您应该有生产+当前开发更改。或者,您可能希望查看Sitecore Courier,它只打包自上次打包以来发生的更改。