是否有可能为MS dynamics crm 2011建立持续集成?

The*_*tan 6 tfs continuous-integration dynamics-crm dynamics-crm-2011

我们刚刚开始动态crm 2011的开发和实施.是否可以实现代码签入的自动化以将代码从开发推广到测试系统?看起来这将涉及导出/导入包含已签入的开发代码的非托管解决方案.我无法找到围绕此功能的API.

如果那是不可能的,你能接近多远?看起来有自动上传Web资源和插件的API(例如sdk中的webresourceutility),但是Web资源仍然需要手动链接到它们要使用的表单(在javascript的情况下)等等).有没有人在自动化部分CRM环境方面取得进展?

作为参考,我们使用vsu 2010和tfs 2010使用MSuild进行当前的持续集成.

小智 5

我们有一些技术可以为我们提供非常可靠的CI结构.

插件

  • 我们所有的插件都是在办理登机手续时编制的CI
  • 我们编写的所有插件代码都有自行注册详细信息作为组件的一部分.
  • 我们编写了一个工具,可以将插件播放到数据库中,首先根据自注册详细信息卸载旧插件.

  • 我们在自定义组织中有一个非托管解决方案,它是干净的,不包含任何数据.开发是在该组织之外进行的.它有实体,表格,Jscript,视图,图标,角色等.
  • 此自定义数据库具有我们从第三方导入的所有解决方案,并且我们的解决方案将进行自定义,最终导入目标组织.
  • 解决方案将导出为托管和非托管,并保存到TFS中
  • 我们将JScript和SSRS RDL存储在TFS中,并且具有一个自定义工具,可以在导出之前将这些工具放入自定义数据库中.
  • 我们还有一个SiteMap非托管解决方案,该解决方案导出为非托管(以确保我们获得最终生成的Sitemap)

部署

我们有一个UI和命令行驱动工具,它执行以下操作: -

  • 针对特定组织
  • 将Customization托管解决方案导入选定的环境.例如TEST.另外,导入非托管Sitemap.
  • 卸载那里的现有解决方案(我们更新solution.xml文件,根据导入时的日期/时间给它一个名称)
  • 安装/卸载插件代码
  • 安装任何自定义SQL脚本(用于RDL)
  • 重新启用重复检测规则
  • 播放我们在源代码管理下存储的某些元数据.例如我们构建的自定义报告实体,它具有附件和XML配置.

它并不完全是完美的,但通过命令行我们每晚刷新TEST和所有开发者PC.每个组织安装然后卸载旧解决方案大约需要1小时.


小智 4

我们在 Dynamics CRM 中广泛使用 CI。对于管理解决方案,我建议使用“干净的”Dynamics CRM 实施,它将成为您的解决方案和“域数据”的主人。有关导入解决方案的信息,请参阅http://msdn.microsoft.com/en-us/library/microsoft.crm.sdk.messages.importsolutionrequest.aspx。另请查看 - http://msdn.microsoft.com/en-us/library/hh547388.aspx