我们如何在Sharepoint环境中处理代码升级?
在具有内部开发的典型企业场景中,我们可能具有开发,暂存和生产环境。我们可能会使用SVN在主干中包含正在进行的开发工作,补丁程序存储在分支中,而发布的代码将放入适当命名的标签中。将二进制文件从一种环境迁移到另一种环境可能很简单,例如将它们复制到中间件服务器,GAC处理需要GAC处理的内容等。为配合二进制文件的新修订版,通常通过添加数据库来更新数据库存储过程,视图以及添加/调整表架构。
在Sharepoint环境中,我们可以使用类似的版本控制方案。自定义代码(程序集)最终以手动安装或者通过各种安装程序安装的功能结束。但是,一些需要从开发阶段升级到阶段再到生产阶段的内容可能是支持自定义代码位的数据库内容。
如果我们已经管理过企业Sharepoint环境,请分享有关如何管理环境之间的代码和内容更改的促进的想法,同时保护工作和用户,并保持理智。
解决方案
我假设当我们谈论数据库内容时,是指站点a或者列表中包含的实际内容。
可能最好的方法是使用stsadm import和export命令将内容从一个环境导出和导入到另一个环境。 (从一种环境转到另一种环境时,请勿使用备份/还原。)
对于任何文件更改(程序集,aspx),可以使用"功能",然后跟踪安装程序。我们将安装该功能并进行升级以推送更改。
没有简单的方法来同步数据...我们可以使用John指出的使用stsadm导入/导出命令。但是,这可能并非一帆风顺,尤其是在服务器配置不同的情况下。
我们还可以尝试使用Data Sync Studio产品(http://www.simego.net/DataSync_Studio.aspx)。
根据数据库内容采用的形式,我会将其创建保存在代码中,以便将其全部放在一个位置(Visual Studio项目),也可以通过源代码管理对其进行管理。内容的部署既可以通过控制台应用程序,也可以通过更好的功能接收器进行。
我们可能还想阅读此博客文章,并查看那里提到的另一种方法的工具。
我可以向我们指出的最佳资源是埃里克(Eric)的论文:
http://msdn.microsoft.com/zh-CN/library/bb428899.aspx
我是一个团队的成员,致力于通过TFS更好地开发WSS和MOSS解决方案,但是我不知道这是什么。