我有一个本地Sitecore实例,我在其中进行了涉及代码和创建新子布局的更改。
在部署代码后,我可以在新环境中看到与子布局关联的usercontrol(.ascx)文件,但相应的项目不会出现且无法使用。
如果我尝试重新创建用户控件,它会告诉我该文件已经存在,并且由于我对该平台缺乏经验,我发现自己无法导入该文件。
最佳的进展方式是什么?
答案 0 :(得分:2)
要正确部署新的子布局,您应该创建一个Sitecore包。这基本上是一个zip文件,允许您以受控方式在Sitecore实例之间移动项目和磁盘文件。对于尚未添加任何专用工具的Sitecore的基本安装,通常是在服务器之间移动资源的首选方法。
Sitecore开发者网络上的“包设计器指南”将为您提供有关如何使用开发站点上的Sitecore UI创建包含子布局的项目和文件的包的信息:
http://sdn.sitecore.net/upload/sitecore6/65/package_designer_admin_guide-a4.pdf
创建后,可以将此包导入到您要将子布局部署到的任何其他服务器上。
- 编辑添加 -
Derek Hunziker的回答提出了一个很好的观点:除了基本的Sitecore行为外,还有第三方工具可用,如果您愿意,可以增强和扩展部署体验。除了Hedgehog TDS,您还可以考虑:
Visual Studio的“Sitecore Rocks”扩展允许从中创建包 Visual Studio UI。此工具可免费使用。 (https://visualstudiogallery.msdn.microsoft.com/44a26c88-83a7-46f6-903c-5c59bcd3d35b/)
还有各种开源工具--Sitecore Courier就是一个例子:(https://github.com/adoprog/Sitecore-Courier)这是为了帮助Sitecore实例之间自动部署。
TDS和Courier都非常适合常规部署,例如在正在进行的开发周期中,因为它们都包含自动化以帮助确定部署的内容。用于创建包的标准Sitecore UI和Sitecore Rocks扩展更适合于临时部署,因为您通常会选择要手动部署的内容。
答案 1 :(得分:2)
一种常见的最佳做法是使用Team Development for Sitecore将您的项目与代码一起部署。这样就无需在每次要在环境之间移动项目时创建Sitecore包,从而减少了由人为错误引起的问题。作为额外的奖励,您作为开发人员拥有的项目(例如Templates和SubLayouts)可以被检入源代码管理。
完全披露:我为Hedgehog Development工作:)