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

时间:2012-04-12 21:03:28

标签: tfs continuous-integration dynamics-crm dynamics-crm-2011

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

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

供参考,我们正在使用vs 2010& tfs 2010使用MSuild进行当前的持续集成。

2 个答案:

答案 0 :(得分:5)

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

<强>插件

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

<强>解决方案

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

<强>部署

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

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

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

答案 1 :(得分:4)

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